内容来源:https://www.liaoxuefeng.com/wiki/896043488029600/900388704535136
一。删除文件:
- 删除需要删除的文件test.txt: rm test.txt
- 查看哪些文件被删除:git status
- 有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:
git rm test.txt
git commit -m “remove test.txt” - 另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:git checkout – test.txt
二。创建与合并分支
- 首先,我们创建dev分支,然后切换到dev分支:git checkout -b dev(或者git branch dev加git checkout dev)
- 用git branch命令查看当前分支:git branch(git branch命令会列出所有分支,当前分支前面会标一个*号。)
- 然后,我们就可以在dev分支上正常提交修改的文件:
git add readme.txt
git commit -m “branch test” - 切换回master分支:git checkout master/git switch
- 合并某分支到当前分支:git merge
- 删除分支:git branch -d
三。解决冲突
- 当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。用git log --graph命令可以看到分支合并图。(详情见文首链接)
四。bug分支
- 把当前工作现场“储藏”起来,等以后恢复现场后继续工作:git stash
- 查看工作区,确保工作区是干净的:git status
- 确定要在哪个分支上修复bug,假定需要在master分支上修复,就从master创建临时分支:
git checkout master
git checkout -b issue-101 - 修改bug
- 提交修改后的文件:
git add readme.txt
git commit -m “fix bug 101” - 修复完成后,切换到master分支,并完成合并,最后删除issue-101分支:
git switch master
git merge --no-ff -m “merged bug fix 101” issue-101 - 回到dev分支干活:git switch dev
- 恢复的同时把stash内容也删了:git stash pop
- (在master分支上修复了bug后,我们要想一想,dev分支是早期从master分支分出来的,所以,这个bug其实在当前dev分支上也存在。)找到修改Bug的那个提交的ID:git branch
- 复制修改bug的提交到当前分支:git cherry-pick 修改bug的提交的ID