5

ローカルをマスターの正確なコピーにするために、ローカルリポジトリを同期したいと考えています。それをチェックアウトして以来、コミットしたくないいくつかのファイルをローカルに追加しましたが、マスターには存在しません。それにもかかわらず、この手順では、ローカルのすべての相違点をマスターから消去したいと考えています。完了すると、ローカルの追加ファイルは削除されます。

前の質問では、マスターのようにローカルにする戦略を提供しています: ローカル リポジトリ ブランチをリセットして、リモート リポジトリ HEAD のようにします

しかし、これは私にはうまくいきません。推奨コマンド git fetch origin git reset --hard origin/master

ローカルとマスターが同一であることを git status が示していても、ローカルから追加のファイルを消去しないでください。また、あるケースでは、ファイルのマスター バージョンがローカル バージョンを置き換えませんでした。

これを行う方法についてのアイデアはありますか?

4

3 に答える 3

11

実際、試したコマンドは、追跡されたすべてのファイルを の状態にリセットしますorigin/master。ただし、git は追跡されていないファイルには触れません (通常)。実際、「追跡されていないファイル」機能の全体的な目的は、リポジトリ内で git から完全に独立したファイルを保持できるようにすることです。

ただし、次の場合は、追跡されていないファイルを git で削除することもできます。

追跡されていないすべてのファイルをリポジトリから削除するには、次のように入力します。

git clean -f

(ソース:現在の Git 作業ツリーからローカル (追跡されていない) ファイルを削除する方法は? )

削除したファイルは追跡されないため、永久に失われることに注意してください。

于 2013-09-13T09:23:04.600 に答える
-3

ファイルはまだコミットされていないため、次を使用できます。

rm -rf ./*
git reset --hard HEAD

これにより、すべてのファイルが消去され、ディレクトリが元の状態に戻ります。

于 2013-09-13T09:18:50.880 に答える