git 使用快速指南

常用命名

  • 初始化一个仓库
git init
  • 添加文件
git add file1
  • 查看修改
git diff --cached == git status
  • 提交文件
git commit -m ""

提交完文件后, 会生成版本号

  • 创建分支
git branch dev 

以当前分支建立一个dev分支

  • 切换分支
git checkout dev // 切换到dev分支上  git checkout -b dev 创建并切换
  • 合并两个分支之间的代码
git checkout master
git merge dev 合并dev 和master的内容
  • 合并代码的时候,有冲突, 需要解决冲突, 命令
git diff 

编辑完冲突文件,然后commit

  • 提交了commit后,可以用gitk 看合并的历史
gitk 查看编辑详情
  • 删除分支
git branch -d  dev
  • 撤销一个合并
git reset --hard HEAD
git reset --hard ORIG_HEAD

快速向前合并

通常一个合并会产生一个合并提交,把两个父分支里的每一行内容都合并进来
但是,如果当前分支和另一个分支没有内容上的差异,git会执行一个快速向前操作,git不创建任何新的提交

  • 查看git 历史
git log v2.5 
git log master
git log file
git log origin file
git log -p  显示补丁信息
git log --stat 日志统计
  • 比较提交
git diff master dev
git diff HEAD 
  • 获取远程代码
git fetch 抓取代码,但是不会与本地的代码合并

创建标签

git tag stable-1 1b2e23231

rebase的方式合并

  1. 先本地commit
git add .
git commit
  1. 保存分支获取远程
git checkout dev
git rebase origin

这个会把本地提交的取消,放到patch里面去,然后更新远程,然后在用补丁与远程合并

3 冲突
出现冲突,先解决冲突,解决完冲突后,用git add 去更新这些文件的索引
无需要commit
然后执行

git rebase --continue 

这样git就会
继续引用apply余下的补丁
可以用

git rebase --abort 来终止 这样的话 dev 会回到rebase开始前的状态
  • 储藏
git stash "work in progress for foo feature"
git stash list 储藏队列

高级用法

拉取代码,并且合并代码

git pull  // 拉取并合并
git fetch // 只拉取,不会合并
git merge origin/分支名

以远程分支,新建本地分支

git fetch -b 分支名 origin/分支名
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 15,947评论 5 147
  • Git 命令行学习笔记 Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来...
    sunnyghx阅读 3,951评论 0 11
  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,576评论 0 13
  • 涂磊 郭老师说:男人都喜欢小女孩儿叫自己一声哥。骨头都酥了,化了。 问我会不会? 当然也会,年轻的时候,当然会。随...
    小雨rainy_爱我小可可阅读 158评论 0 1
  • 走到现在,我觉得我已经不怕很多东西了:不怕异样的目光,不怕孤独,不怕有人笑着对你说不,不怕渐渐腐烂的某些记忆。很多...
    古小典阅读 403评论 0 1