如何更新落后于gh-pages分支的master分支?
搞定master分支落后的问题
嗨,别慌!Git新手遇到这种分支不同步的情况太正常了,咱们一步步来解决:
第一步:先搞清楚现状
首先确认你现在确实在master分支上,跑这个命令看看:
git branch
输出里前面带*的就是当前分支,如果不是master,先切过去:
git checkout master
接着咱们看看两个分支的提交记录,确认gh-pages确实有master没有的更新:
# 查看gh-pages的简洁版提交历史 git log --oneline gh-pages # 再查看master的提交历史 git log --oneline master
对比一下,你就能清楚看到gh-pages多了哪些master没有的提交。
第二步:把gh-pages的更新合并到master
如果那些新提交都是你想同步到master的内容,直接执行合并命令就行:
git merge gh-pages
要是合并的时候弹出冲突提示(比如两个分支改了同一个文件的不同地方),也不用怕:打开提示里的冲突文件,删掉Git自动添加的<<<<<<<、=======、>>>>>>>这些标记,保留你需要的内容,然后执行:
git add . git commit -m "合并gh-pages的更新到master"
特殊情况:如果你的更新是直接在gh-pages分支修改的
记得你之前用了git subtree push --prefix dist origin gh-pages,要是后来你直接切换到gh-pages分支修改了文件,没同步到master,那可以用这种方式:
# 切到gh-pages分支 git checkout gh-pages # 把需要同步的文件复制到项目外的临时文件夹(比如桌面) # 切回master分支 git checkout master # 把复制的文件粘贴回项目目录 git add . git commit -m "把gh-pages的最新内容同步到master"
最后一步(可选):推送master到远程仓库
要是你想让远程仓库的master也同步更新,跑这个命令:
git push origin master
这样你的master分支就跟上进度啦!
内容的提问来源于stack exchange,提问作者Artur Takoev
相关产品推荐
相关产品推荐

