我如何强制在 git pull 上覆盖本地文件 ? 我的本地仓库包含一个与服务器相同的文件名文件 。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
我如何强制在 git pull 上覆盖本地文件 ? 我的本地仓库包含一个与服务器相同的文件名文件 。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
当前回答
对我唯一有用的是:
git reset --hard HEAD~5
这会使你们再返于五次,然后是五次,
git pull
我通过查查如何解除Git合并发现这一点。
其他回答
奖金 :
说到先前的回答中的拉/拉/拉/加,我想分享一个有趣的和有成果的把戏,
git Pull -- rebase
以上命令是我生命中最有用的命令 节省了很多时间
在将您新承诺推进到服务器之前, 请尝试此命令, 它会自动同步最新的服务器更改( 加上一个抓取+合并) , 并将您的承诺放在 git 日志的顶部 。 无需担心手动拉动/ 合并 。
查找“ 直接拉动 - rebase ” 的操作细节 ? @ info: whatsthis
1: 重置为上一个承诺
git reset --hard HEAD
2: 删除未跟踪的文件
git clean -f
3:拉起承诺
git pull
资料来源:
http://git-scm.com/docs/git-reset https://git-scm.com/docs/git-clean/
这里的答案似乎大多集中在主分支上; 但是,有时我在两个不同的地方 研究同一个功能分支, 我希望一个在另一个在重新基点上得到反映, 而不是跳过很多圈子。
根据Rna的回答和Torek对类似问题的回答, 我得出了一个非常有效的答案:
git fetch
git reset --hard @{u}
从一个分支运行它, 它只会重新设置你的地方分支 到上游版本。
也可以将它写进别名(git strengpull)中:
git 配置别名.forcepull "! git 获取; git 重设 - hard u}"
或者,在您的. git config 文件 :
[alias]
forcepull = "!git fetch ; git reset --hard @{u}"
享受吧!
我已尝试了大部分我在这里能找到的东西,
工作是 Git 合并 -x 他们的工作
这将删除所有未承诺的更改, 然后拉动 :
git reset --hard HEAD
git pull