我如何强制将本地文件覆盖在git pull
我的本地仓库包含一个文件名文件名与服务器上的文件名相同。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
我如何强制将本地文件覆盖在git pull
我的本地仓库包含一个文件名文件名与服务器上的文件名相同。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
当前回答
警告: 警告:git clean
删除所有未跟踪的文件/目录,无法撤销。
有时只是偶尔clean -f
如果您有未跟踪的主管, -d 选项也需要 :
# WARNING: this can't be undone!
git reset --hard HEAD
git clean -f -d
git pull
警告: 警告:git clean
删除所有未跟踪的文件/目录,无法撤销。
考虑使用-n
(--dry-run
) 旗号先行。这将显示要删除的内容,但实际上没有删除任何内容:
git clean -n -f -d
示例产出:
Would remove untracked-file-1.txt
Would remove untracked-file-2.txt
Would remove untracked/folder
...
其他回答
我也有类似的问题,我不得不这么做
git reset --hard HEAD
git clean -f
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
我试图在三角2Webpack-Starter上使用第2号材料分支, 并度过了一段很漫长的时光。 这是我唯一可以下载和使用该分支的方法。
git clone --depth 1 https://github.com/angularclass/angular2-webpack-starter.git
cd angular2-webpack-starter/
git checkout -b material2
打开工程文件夹, 删除所有非隐藏的文件和文件夹。 留下所有隐藏的文件和文件夹 。
git add .
git commit -m "pokemon go"
git reset --hard
git pull origin material2
(当编辑器弹出时,按“:wq”键,然后按输入)
现在你准备好了
我也有同样的问题 没人给我这个解决方案 但对我有用
我解决它的方法是:
.git
目录。git reset --hard HEAD
git pull
git push
现在它的工作原理。
尽管最初提出这个问题,但顶尖的答案会给有类似问题的人造成问题,但不想失去本地文件。例如,见Al-Punk和CrizCraig的评论。
以下版本对临时事务组(临时事务组)进行本地变更(临时事务组)tmp
检查原始分支(我假设master
)和合并更新。您可以用stash
,但我发现通常更容易使用分支/合并方法。
git checkout -b tmp
git add *; git commit -am "my temporary files"
git checkout master
git fetch origin master
git merge -s recursive -X theirs origin master
我们假设其它存储库是origin master
.