本地分支local1无法与master同步,误删文件后PR异常如何解决?
解决误删文件后无法同步master分支的问题
1. 恢复误删的单个文件
直接从远程master分支拉取该文件的最新版本,覆盖当前分支的删除操作:
git checkout origin/master -- 你的文件路径/文件名
举个例子,如果误删的是docs/README.md,执行:
git checkout origin/master -- docs/README.md
执行后,该文件会被恢复到工作区和暂存区,接着提交并推送变更:
git add docs/README.md git commit -m "恢复误删的README.md文件" git push origin local1
此时你的PR就会显示该文件已恢复,与master分支保持一致。
2. 为什么fetch/merge、pull操作没效果?
你在local1分支已经提交了删除文件的操作,Git会将这个删除视为你在该分支的主动修改。当执行merge或pull master分支时,Git不会自动覆盖你后续的变更,所以才会出现分支未更新的情况。只有主动从master分支拉取该文件的版本,才能撤销删除操作。
3. 同步master分支的所有最新变更(可选)
如果还需要同步master分支的其他更新,在恢复文件之后执行:
git fetch origin git merge origin/master
或者简化为:
git pull origin master
这时候因为文件冲突已经解决,merge操作会顺利完成,local1分支就能同步master的所有最新内容。
内容的提问来源于stack exchange,提问作者sekhar
相关产品推荐
相关产品推荐

