如何强制覆盖本地文件git pull?
git pull
场景如下:
这是我得到的错误:
错误:未跟踪的工作树文件“public/images/icon.gif”将被合并覆盖
如何强制 Git 覆盖它们?此人是一名设计师 - 通常,我会手动解决所有冲突,因此服务器具有他们只需要在其计算机上更新的最新版本。
--hard
如果您有任何Git未跟踪的文件(例如上传的用户内容),这些文件将不会受到影响。
首先,运行 fetch 将所有origin/<branch>refs更新为最新:
origin/<branch>
git fetch --all
备份您当前的分支:
git branch backup-master
然后,您有两个选择:
git reset --hard origin/master
或者如果您在其他分支机构:
git reset --hard origin/<branch_name>
git fetch 从远程下载最新版本,而无需尝试合并或重新设置任何内容。
git fetch
然后将git reset主分支重置为您刚刚获取的内容。该--hard选项更改工作树中的所有文件以匹配origin/master
git reset
origin/master
[*]:值得注意的是,可以通过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.
new-branch-to-save-current-commits
然而,未提交的更改(即使是暂存的)也会丢失。确保存储并提交您需要的任何内容。为此,您可以运行以下命令:
git stash
然后重新应用这些未提交的更改:
git stash pop