乐闻世界logo
搜索文章和话题

How do i force git pull to overwrite local files

1个答案

1

首先,将所有 origin/<branch>参考更新为最新:

shell
git fetch --all

备份当前分支(例如 master):

shell
git branch backup-master

跳转到最新提交 origin/master并签出这些文件:

shell
git reset --hard origin/master

解释:

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

git reset将 master 分支重置为您刚刚获取的内容。该 --hard选项会更改工作树中的所有文件以匹配 origin/master.


维护当前的本地提交

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

shell
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 add),也会丢失。确保 stash或承诺您需要的任何事情。例如,运行以下命令:

shell
git stash

稍后(在 之后 git reset),重新应用这些未提交的更改:

shell
git stash pop

这可能会产生合并冲突。

2024年6月29日 12:07 回复

你的答案