1. 冲突解决
通常发生在多人协作开发时,不同的人对同一分支做了不同的修改,在提交的时候会由于冲突而无法通过。一般如果远端分支比本地分支更新的话,会选择直接抛弃本地分支,将远端分支的内容全部覆盖到现有代码上
1 | # 若本地存在未commit的改动,需要这条指令 |
但如果本地分支的改动和远端分支的改动都想保留,或者希望自定义需要保留的内容的话,就需要解决冲突。首先我们知道 git pull
等同于 git fetch
+ git merge
两条指令,解决冲突的步骤包括
1 | # 下载远端分支到本地缓存区 |
2. 恢复本地缓冲区中暂存的分支
1 | $ git stash |
3. 新分支创建、合并与删除
创建分支、切分支1
2
3
4
5
6
7
8# 查看当前分支
$ git branch
# 开一个叫做new-feature的新分支,该操作不会影响到当前正在进行的代码修改工作
$ git checkout -b ${new-branch}
# 如果 ${new-branch} 已存在
$ git checkout ${new-branch}
# 切回主分支
$ git checkout master
本地删除分支、远程删除分支1
2
3
4# 本地删除分支
$ git branch -d ${new-branch}
# 远程删除分支
$ git push origin --delete ${new-branch}
如果本地删除分支前该分支还未合并,会提示使用下面的命令强制销毁,一般除非git branch -d
失败,且确定要放弃分支,否则不要直接用这条命令1
$ git branch -D ${new-branch}
如果需要在删除前先合并分支,比如需要把new-branch
合并到master
然后再删除new-branch
,那么1
2
3$ git checkout master
$ git merge ${new-branch}
$ git branch -d ${new-branch}
4. 其他
git add .
是一个很容易错误加入不想要的文件的命令,撤销方法是1
$ git reset HEAD