分享

如何强制“git pull”覆盖本地文件

 新用户34008MEn 2021-07-15

⚠ 重要提示:如果有任何本地更改,它们将丢失。带或不带–hard选项,则任何尚未推送的本地提交都将丢失。[*]

如果你有任何文件由Git跟踪(例如上传的用户内容),这些文件不会受到影响。


首先,运行fetch来更新所有origin/<branch>参考最新版本:

git fetch --all

备份当前分支:

git checkout -b backup-master

然后,您有两个选择:

git reset --hard origin/master

或者如果你在其他分支机构:

git reset --hard origin/

说明:

git fetch从远程下载最新版本,无需尝试合并或重新设置任何内容。

然后git reset将主分支重置为刚才获取的内容。这个–hard选项将更改工作树中的所有文件以匹配中的文件origin/master


维护当前本地提交

[*]:值得注意的是,可以通过从创建分支来维护当前的本地提交master复位前:

git checkout master
git branch new-branch-to-save-current-commits
git fetch --all
git reset --hard origin/master

在这之后,所有旧的承诺都将被保留new-branch-to-save-current-commits.

未提交的更改

但是,未提交的更改(即使是阶段性更改)将丢失。一定要把你需要的东西藏起来。为此,您可以运行以下命令:

git stash

然后重新应用这些未提交的更改:

git stash pop

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多