582

私のブランチでは、.gitignore にいくつかのファイルがありました

別のブランチでは、これらのファイルはそうではありません。

別のブランチを自分のブランチにマージしたいのですが、それらのファイルが無視されなくなったかどうかは気にしません。

残念ながら、私はこれを取得します:

次の追跡されていない作業ツリー ファイルは、マージによって上書きされます

これらのファイルを自分で見つけたり、移動したり、削除したりせずに、pull コマンドを変更してこれらのファイルを上書きするにはどうすればよいですか?

4

17 に答える 17

220

追跡されていないファイルをローカルからクリアするコマンドを試すことができます

Git 2.11 以降のバージョン:

git clean  -d  -f .

古いバージョンの Git:

git clean  -d  -f ""

どこ-dを次のように置き換えることができます:

  • -x無視されたファイルと、Git に認識されていないファイルも削除されます。

  • -d追跡されていないファイルに加えて、追跡されていないディレクトリを削除します。

  • -f強制的に実行する必要があります。

こちらも参考になりそうなリンクです。

于 2015-11-19T12:29:08.503 に答える
207

私のために働いた唯一のコマンドは次のとおりです:( これによりすべてのローカルファイルが削除されることに注意してください)

git fetch --all
git reset --hard origin/{{your branch name}}
于 2016-04-24T14:36:32.973 に答える
26

追跡されていないファイルをすべて削除します。

git clean  -d  -fx .

注意: これにより、ファイルを追跡しない限り、IDE ファイルと有用なファイルが削除されます。このコマンドは注意して使用してください

于 2016-09-29T08:36:07.957 に答える
23

そのコマンドを試すことができます

git clean -df

編集:これにより、貴重な追跡されていないファイルが削除されることに注意してください。@zhekausに感謝

于 2016-01-28T16:49:54.943 に答える
16

これが 1 回限りの操作である場合は、プルを実行する前に、追跡されていないすべてのファイルを作業ディレクトリから削除することができます。現在の Git 作業ツリーからローカル (追跡されていない) ファイルを削除する方法をお読みください。追跡されていないファイルをすべて削除する方法については、

まだ必要な追跡されていないファイルを誤って削除しないようにしてください;)

于 2013-07-01T12:26:19.657 に答える
7

フラグの使用を検討している場合は、-f最初に予行演習として実行することをお勧めします。次にどのような興味深い状況になるかを前もって知っているというだけで;-P

-n 
--dry-run 
    Don’t actually remove anything, just show what would be done.
于 2016-08-09T13:31:20.163 に答える
5

これを行う 1 つの方法は、ローカルの変更を隠して、リモート リポジトリからプルすることです。この方法では、ファイルがスタッシュに移動するため、ローカル ファイルが失われることはありません。

git add -A
git stash
git pull

このコマンドを使用して、ローカルの隠しファイルを確認できます-git stash list

于 2019-05-07T14:06:54.743 に答える
0

.gitignore の下にファイルが書き込まれている場合は、ファイルを削除して git pull を再度実行します。それは私を助けました。

于 2020-03-25T13:47:12.140 に答える