28

.h作業中のプロジェクトのヘッダーファイルで小さな競合が発生しました。このプロジェクトはGitで追跡されています。

幸いなことに、競合は非常に簡単に解決できました。使用しました

git mergetool

opendiffそして、私のMacではFileMergeのように見えるデフォルト()を選択しました。適切な変更を加え、ファイルを保存して閉じました。

次に、Gitは、マージが成功したかどうかを尋ねました。私は「はい」と答えました。

Was the merge successful? [y/n] y

しかし今、私は持っています:

> git st
# On branch develop
# Changes to be committed:
#   modified:   MyHeader.h
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   MyHeader.h.BACKUP.52920.h
#   MyHeader.h.BASE.52920.h
#   MyHeader.h.LOCAL.52920.h
#   MyHeader.h.REMOTE.52920.h
#   MyHeader.h.orig

これらの余分なジャンク競合ファイルのうち、FileMergeによって作成されたものと、Gitによって作成されたものはどれですか?

そしてもっと重要なこと:どうすればそれらを削除できますか?

4

3 に答える 3

53

他のファイルと同じように、簡単に削除できます。例えば:

rm MyHeader.h.orig

または、他に追跡されていないファイルがない場合は、

git commit -a

あなたはあなたのリポジトリをきれいにするかもしれません

git clean -n
git clean -f

git clean -n何が起こるかを教えてくれるgit clean -fので、あなたはそれがあなたが望むものであると確信することができます。

于 2013-03-12T23:09:03.237 に答える
9

それらが唯一の追跡されていないファイルである場合は、git cleanそれらを削除するために使用できます。フラグを付けて1回実行し、-n何が削除されるかを確認します。確信がある場合は、を使用して実行し-fます。保持したい追跡されていないファイルがある場合は、それを使用しないでください!

于 2013-03-12T23:05:53.360 に答える
1

まず、マージをコミットします。

すべてが順調であることに満足したら、これらの余分なファイルを手動で削除するだけです(rm <filename>たとえば、を使用して)。

于 2013-03-12T23:12:13.450 に答える