本篇博客主要两个方面的内容,fork分支同步问题和多次commit合并问题。
fork同步方法,怎么去同步主分支的代码或者其他分支代码:
- 配置源仓库地址
git remote add upstream 源仓库地址
- 查看是否添加成功远程仓库
git remote -v
- 使用fetch命令更新,fetch后代码将更新存储在本地的upstream/master或者upstream/breach name分支
git fetch upstream
- 合并分支到本地master分支上面
git merge upstream/master
- 合并完成的分支推送到自己的远程仓库
合并多次commit的问题:
合并多个commit的重要性在于避免commit提交太多版本控制的混乱
- 查看提交历史,git log,查看想要合并的那几个提交
- git rebase (以下两种方式合并提交版本)
git rebase -i HEAD~3(从开始到过去的3个版本)
git rebase -i 版本号(合并这个版本之前的版本号,同时这个版本号不参与版本合并)
- 选取需要合并的提交
执行rebase后会弹出一个窗口,除去第一个pick 标识,将其他pick改成squash或者s,然后保存退出。这是如果冲突就需要修改冲突,这是必需的不然会丢弃修改。
修改之后需要敲入命令,git add . 和 git rebase --continue 。如果想放弃本次压缩就敲入git rebase --abort
如果没有冲突或者冲突已经解决会出现本次合并信息,输入一个注释,就保存退出。
- 最后在查看历史 git log,这是会发现已经合并了commit