Git 快速教程(分支)

查看分支
$ git branch

创建分支
$ git branch <name>

切换分支
$ git checkout <name>

创建+切换分支
$ git checkout -b <name>

合并某分支到当前分支
$ git merge <name>

删除分支
$ git branch -d <name>

分支合并冲突
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容
手动解决完冲突后后续步骤一样

查看分支合并图
$ git log --graph --pretty=oneline --abbrev-commit


Git通常会用Fast forward模式合并,但这种模式下,删除分支后,会丢掉分支信息
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息

$ git merge --no-ff -m "merge with no-ff" dev


修复bug时,创建新的bug分支进行修复,然后合并,最后删除,
当手头工作没有完成时,先把工作现场git stash一下,然后修复bug,修复后,再git stash pop回到工作现场

如果有多次stash,恢复的时候用git stash list查看历史,然后恢复指定的stash,用命令
$ git stash apply stash@{0}

查看工作现场
$ git stash list 

恢复现场有两个办法
git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除

另一种方式是用git stash pop,恢复的同时把stash内容也删了



如果在新功能分支,但是没有合并,此时要删除此分支的话
使用
$ git branch -d <name>
会提示此分支没有合并使用如下进行强制删除
$ git branch -D <name>
查看远程库的信息
$ git remote
或者更为详细的
$ git remote -v
origin  https://github.com/yzgcode/learngit.git (fetch)
origin  https://github.com/yzgcode/learngit.git (push)
上面显示了可以抓取的推送的origin的地址。如果没有推送的权限,就看不到push的地址
在本地创建好分支(如 dev)后使用
$ git push -u rigin dev 推送到服务器


当小伙伴从远程库clone时,默认情况下,小伙伴只能看到本地的master分支
现在小伙伴要在dev分支上开发,就必须创建远程origin的dev分支到本地
$ git checkout -b dev origin/dev


使用下面命令推送
$ git push origin master


如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建

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

推荐阅读更多精彩内容

  • 查看分支 git 命令: $ git branch -a 说明:查看所有分支 * 代表当前处在的分支, 切换分支 ...
    mm_cuckoo阅读 653评论 0 1
  • 本系列教程来自廖雪峰的官方网站,现在搬运过来,目的帮助自己和小白学习收藏!附赠:常用git命令清单 目录 前言 创...
    Blizzard_liu阅读 1,151评论 0 4
  • 一生匆匆,我们只顾得前行,何时回头看看父母。从你落地,他变全心照料;当你远行,他整日提心吊胆。这便是父...
    _鱼籽儿_阅读 126评论 0 1
  • 这是我第一次来到简书。 因为无意中看了一篇精彩的文章,来自于简书。 下载了app,开始幻想起我第一次的使用。 你还...
    刘佳勇阅读 148评论 0 0
  • 书道已流张性情,古人笔意今难兴。 书展平轴由头看,大名丑书俗姿多。 可怜小生创名难,一纸工稳为赏音。 昨与学者谈傅...
    b00a2860b713阅读 513评论 0 0