git pull
ディレクトリを吹き飛ばして実行することなく、ローカルファイルの変更を無視する方法はありますgit clone
か?
14 に答える
プルでローカルの変更を上書きする場合は、作業ツリーがクリーンであるかのようにマージを実行します。作業ツリーをクリーンにします。
git reset --hard
git pull
追跡されていないローカルファイルがある場合はgit clean
、それらを削除するために使用できます。
git clean -f
追跡されていないファイルを削除するには-df
追跡されていないファイルとディレクトリを削除するには-xdf
追跡されていない、または無視されたファイルまたはディレクトリを削除するには
一方、ローカルの変更をなんらかの方法で保持したい場合は、引っ張る前にstashを使用してそれらを非表示にし、後で再適用します。
git stash
git pull
git stash pop
変更を文字通り無視することは意味がないと思いますが、プルの半分はマージであり、コミットされたバージョンのコンテンツをフェッチしたバージョンとマージする必要があります。
git stashを見て、すべてのローカル変更を「stash ファイル」に入れ、最後のコミットに戻します。その時点で、隠した変更を適用するか、破棄することができます。
Linux を使用している場合:
git fetch
for file in `git diff origin/master..HEAD --name-only`; do rm -f "$file"; done
git pull
for ループは、ローカル リポジトリで変更されたすべての追跡ファイルを削除するためgit pull
、問題なく動作します。
これの最も良い点は、追跡されたファイルのみがリポジトリ内のファイルによって上書きされ、他のすべてのファイルはそのまま残されることです。
私は通常、次のことを行います。
git checkout .
git pull
プロジェクトのルート フォルダー内。
これにより、現在のブランチが取得され、master への早送りが試行されます。
git fetch && git merge --ff-only origin/master