如何更新本地克隆项目?含Bitbucket无需重新克隆场景
嘿,这事儿太常见了,根本不用重新克隆,Git早就给咱们准备好全套同步操作了,我给你分场景说清楚:
无本地修改时的基础同步流程
如果你的本地工作区是干净的(没有未提交的修改),直接两步就能搞定:
- 先拉取远程仓库的所有更新(这一步不会影响你的本地代码,只是同步远程信息):
git fetch origin - 接着合并远程对应分支的更新到本地分支(比如你用的是main分支):
git merge origin/main
或者更偷懒的一步到位命令:git pull origin main——其实git pull就是git fetch加git merge的组合,日常用起来更顺手。
本地有未提交修改时的处理
要是你本地还有没提交的代码,直接拉取可能会触发冲突,这时候有两种稳妥的处理方式:
- 方式一:暂存本地修改
先把你的本地修改临时存起来,等同步完再恢复:- 暂存修改:
git stash - 同步远程:
git pull origin main - 恢复暂存的修改:
git stash pop——这时候如果有冲突,Git会明确标记出来,你只需要打开冲突文件,处理掉<<<<<<<、=======、>>>>>>>这些标记的内容,再用git add <冲突文件名>标记冲突解决,最后提交就行。
- 暂存修改:
- 方式二:直接合并(适合确定修改无冲突的情况)
直接执行git pull origin main,Git会自动尝试合并远程更新。如果真的有冲突,它会暂停合并并提示你,按照上面的冲突解决步骤处理就好。
同步主分支更新到你的开发分支
如果你平时在自己的开发分支干活,想把远程主分支的最新代码同步到你的分支:
- 先切换到主分支:
git checkout main - 同步主分支:
git pull origin main - 切回你的开发分支:
git checkout your-dev-branch - 把主分支的更新合并过来:
git merge main——同样,有冲突就手动解决后提交。
小提醒:平时可以多先用git fetch看看远程有没有更新,再决定合并,这样能更清楚知道远程的变化,避免莫名其妙的冲突~
内容的提问来源于stack exchange,提问作者Haobo_X
相关产品推荐
相关产品推荐

