Git笔记

查看分支:git branch

创建分支:git branch name

切换分支:git checkout name

创建+切换分支:git checkout -b name

合并某分支到当前分支:git merge name

删除分支:git branch -d name

解决冲突

使用git status命令可以查看冲突问题

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容

使用git log可以查看分支合并的情况.

Bug分支

假设在dev分支上进行开发,而现在需要修复一个bug并且merge到master分支上.而现在dev上的工作只工作到了一半,还不能commit.

这种情况下,可以在dev分支中,使用git stash,这时,git status查看工作区的时候是干净的(干净才可以checkout到其它的分支).

现在,可以到其它分支上工作了.

现在切回去bug分支,用git stash list可以查看工作区现场.

恢复现场的两种方法:

  • git stash apply:恢复现场,但是stash不会删除.

  • git stash pop:恢复现场,但是stash会被删除.

删除分支

如果需要删除没有被merge的分支,需要使用命令:

git branch -D feture

多人协作

从remote获取的项目只有master分支.

如果远程有dev分支的话,在本地可以使用以下命令来checkout到在远程已经存在的另一个分支.

//这样,在本地就会切换到远程dev的分支上.
git checkout -b dev origin/dev

多人协作的步骤:

  • 首先,git push origin branch-name推送自己的修改.
  • 如果推送失败,因为远程分支的比你的本地更新,先使用git pull试图合并.
  • 合并有冲突的话,则解决冲突,然后在本地提交.
  • 解决冲突之后,再执行git push origin branch-name提交.
  • 如果git pull出现no tracking information的话,那么需要进行git branch --set-upstream branch-name origin/branch-name操作(建立本地分支和远程分支的关联).

操作标签

  • 命令git push origin tagname可以推送一个本地标签;

  • 命令git push origin --tags可以推送全部未推送过的本地标签;

  • 命令git tag -d tagname可以删除一个本地标签;

  • 命令git push origin :refs/tags/tagname可以删除一个远程标签。

Github的Pull Request

步骤:

  1. 先在github上fork一个感兴趣的项目
  2. 在自己fork的项目上做修改
  3. 然后在github自己fork的项目上发起一个pull request

git merge --no-ff

git merge 带上参数--no-ff的区别如下:

你可能感兴趣的:(Git笔记)