github学习(三)

Git学习(二)

分支学习:
  • 创建新分支dev:git branch dev
  • 切换到dev分支:git checkout dev

    可以简写为一句话:git checkout -b dev

  • 可以用命令git branch来查看当前分支的情况。

    git branch会列出所有的分支,当前的分支是带有*标志的那个。

  • 合并指定的分支到当前的分支上面:git merge dev
  • 删除名字叫dev的分支:git branch -d dev
  • git解决冲突:如果出现合并冲突的情况,需要手动解决冲突,然后在添加,推送到本地的git库。

    显示git的合并图:git log --graph --pretty=oneline --abbrey-commit

  • 通常合并分支时,git会用fast forward模式。但在这种模式下,删除分支之后,会丢掉分支的信息。

    如果禁用fast forward模式,git就会在merge时生成一个新的commit,这样,从分支历史上就可以看到分支的信息。

    禁用fast forward模式:git merge --no-ff -m "not fast forward" dev

  • bug分支,当你正在dev上面开发的时候,有一个紧急的bug需要修复。
  1. 这时候可以用git stash将当前的工作现场储存起来,等以后恢复现场后继续工作。
  2. 然后切换到master的分支上,创建一个名字叫issue的分支:git checkout -b issue,然后开始修复bug,修复好之后,切换到master分支上面,合并分支。然后删除issue分支:

    git checkout master

    git merge --no-ff -m “merge bug fix " issue

    git branch -d issue

  3. 最后切换到dev的分支继续干活:git checkout dev
  4. git stash list用来查看工作现场的储存列表,需要恢复一下。

    a.git stash apply恢复,但是恢复之后,stash内容并不删除,需要用git stash drop来删除。

    b.可以用git stash pop恢复,在恢复的同时,把stash内容也删除了。

  • 创建新分支feature(未合并),没有合并的分支不能删除,可以强制用git branch -D feature来强制删除。
  • 推送分支到远程仓库origin:git push origin mastergit push origin dev

    推送分支时如果不能推送,多半是因为和他人提交到远程仓库有冲突。如果别人提交代码到远程仓库,这个时候你需要把远程仓库的最新代码拉下来,然后保证两端代码的同步:

    git pull origin master

    然后再提交:git push origin master

    一般我们在push之前都会先pull,这样不容易冲突。

原文地址:https://www.cnblogs.com/weixuqin/p/6537376.html