我如何强制在 git pull 上覆盖本地文件 ? 我的本地仓库包含一个与服务器相同的文件名文件 。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
我如何强制在 git pull 上覆盖本地文件 ? 我的本地仓库包含一个与服务器相同的文件名文件 。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
当前回答
而不是做:
git fetch --all
git reset --hard origin/master
我建议采取以下行动:
git fetch origin master
git reset --hard origin/master
如果您要重置到源/ 主管分支, 不需要获取所有远程和分支 ?
其他回答
最顶尖的答案会给有类似问题的人带来问题, 但不想失去本地文件。 例如,
以下版本将您本地的更改引入临时分支( tmp) , 检查原始分支( 我假设是母分支) 并合并更新 。 您可以用隐藏来做到这一点, 但我发现通常更容易使用分支/ 合并方法 。
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
假设另一个仓库是源主
您可以在您的工程基准文件夹中以文件忽略该文件 :
. jutignore( )
public/images/*
然后拉动修改,然后从您的 gitignore 文件中删除该行 。
您可能会发现此命令有助于丢弃本地更改 :
git checkout <your-branch> -f
然后进行清理( 从工作树上移走未跟踪的文件) :
git clean -f
如果您想要除去未跟踪的文件之外, 还要删除未跟踪的目录 :
git clean -fd
我不清楚为什么有人还没说到fack_head呢。
git fetch origin master && git reset --hard FETCH_HEAD
如果您想把它放在别名中, 命令是:
git config --global alias.fpull '!git fetch origin master && git reset --hard FETCH_HEAD'
我试图在三角2网块启动器上使用材料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' , 然后按进)
现在你准备好了