【发布时间】:2017-12-30 15:54:58
【问题描述】:
如何强制覆盖 git pull 上的本地文件?
场景如下:
- 团队成员正在修改我们正在开发的网站的模板
- 他们正在向图像目录中添加一些图像(但忘记在源代码管理下添加它们)
- 他们稍后会通过邮件将图像发送给我
- 我正在将图像添加到源代码管理下,并将它们与其他更改一起推送到 GitHub
- 他们无法从 GitHub 拉取更新,因为 Git 不想覆盖他们的文件。
这是我遇到的错误:
错误:未跟踪的工作树文件“public/images/icon.gif”将被合并覆盖
如何强制 Git 覆盖它们?此人是设计师 - 通常,我会手动解决所有冲突,因此服务器具有他们只需要在计算机上更新的最新版本。
【问题讨论】:
-
任何认为可能会丢失文件的阅读本文的人,我一直处于这个位置,发现 Sublime Text 的缓冲区救了我 - 如果我正在处理某事,然后尝试解决意外删除所有内容与此类似的问题或通过使用此问题的答案并已在 Sublime 中打开文件(很有可能),那么文件仍将存在 Sublime,要么就在那里,要么在撤消历史记录中跨度>
-
git reset --hard origin/branch_to_overwrite -
基本上,只在初始结帐 -b 之后从开发中拉取。做你的工作,然后推回去。
-
简答:删除并重新创建分支。 1.删除分支:
git branch <branch> -D2.重置为冲突前的提交:git reset <commit> --hard3.重新创建分支:git branch <branch>4.设置跟踪到服务器:git --set-upstream-to=origin/<branch> <branch> 5. Pull:git pull` -
要将所有 CRLF 更改为 LF 结尾,(开始清理)
git config core.autocrlf false; git ls-files -z | xargs -0 rm; git checkout .
标签: git version-control overwrite git-pull git-fetch