我如何强制在 git pull 上覆盖本地文件 ? 我的本地仓库包含一个与服务器相同的文件名文件 。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
我如何强制在 git pull 上覆盖本地文件 ? 我的本地仓库包含一个与服务器相同的文件名文件 。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
当前回答
这是恢复变化的最佳做法:
git 承诺执行您的分阶段更改, 以便将其保存在 reflog( 见下文) git 获取最新的上游更改 git 重设 -- 硬源/ master 硬重置到源主分支
reflog 记录本地仓库中更新的分支和其他引用。 或简单地放入 - reflog 是您更改的历史 。
所以这总是一个伟大的实践 承诺。 承诺被附在折叠纸上, 保证你永远有办法 检索删除的代码 。
其他回答
对于那些不喜欢重置的人,我喜欢这样的做法:
git checkout branchname # go to your branch
git fetch origin branchname # fetch the remote
git checkout -b backup # optionally, mark your remote as a backup
git branch -f branchname origin/branchname # force your local branch to be equal to the fetched origin/branchname
将索引和头重置为源/ 主机,但不重置工作树 :
git reset origin/master
我已尝试了大部分我在这里能找到的东西,
工作是 Git 合并 -x 他们的工作
这将删除所有未承诺的更改, 然后拉动 :
git reset --hard HEAD
git pull
我读过所有答案,但我在找一个命令来做这个。 这就是我所做的。在.gitconfig 中添加了一个 Git 化名。
[alias]
fp = "!f(){ git fetch ${1} ${2} && git reset --hard ${1}/${2};};f"
您的命令以
git fp origin master
等于
git fetch origin master
git reset --hard origin/master