我如何强制将本地文件覆盖在git pull我的本地仓库包含一个文件名文件名与服务器上的文件名相同。

错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖


当前回答

我总结了其他答案 你可以执行git pull无错误 :

git fetch --all
git reset --hard origin/master
git reset --hard HEAD
git clean -f -d
git pull

警告警告警告警告:这个脚本非常强大,所以你可能会失去变化。

其他回答

尽管这个问题已经有许多答案,但最初的问题是解决这个问题。

错误: 未跟踪的工作树文件“ public/images/icon. gif” 会被合并覆盖

由于二进制文件无法合并, 简单的答案是

git checkout public/images/icon.gif

有了这个文件,文件就会恢复到它在这个分支的原有状态。

我平平平平平平平平git stash如果我不想失去我的改变或类似的东西git checkout .如果我不在乎本地修改的文件的话 海事组织比海事组织简单得多reset --hard, clean...所有这些东西更适合 离开分支的远程, 包括承诺,未跟踪的文件, 而不是仅仅解决一个本地修改过的文件。

我试图在三角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”键,然后按输入)

现在你准备好了

您可以在您的工程基准文件夹中以文件忽略该文件 :

. jutignore( )

public/images/*

然后拉动修改,然后从您的 gitignore 文件中删除该行 。

这是恢复变革的最佳做法:

  • git commit提交您预置的更改, 以便将其保存在reflog 格式的reflog(见下文)
  • git fetch获取最新的上游变化
  • git reset --hard origin/master硬重置源主分支

缩略reflog 格式的reflog 本地存储库中正在更新的记录分支和其他参考资料简简简简简简简reflog 格式的reflog更改的历史历史.

因此,这总是一个伟大的实践 承诺。 承诺被附在折叠件上, 以确保您永远有办法检索删除的代码 。

我总结了其他答案 你可以执行git pull无错误 :

git fetch --all
git reset --hard origin/master
git reset --hard HEAD
git clean -f -d
git pull

警告警告警告警告:这个脚本非常强大,所以你可能会失去变化。