作業中のプロジェクトの.h
ヘッダーファイルで小さな競合がありました。このプロジェクトはGitで追跡されます。
幸いなことに、競合は非常に簡単に解決できました。使った
git mergetool
そして、私のMacではFileMergeのように見えるデフォルト(opendiff
)を選択しました。適切な変更を加え、ファイルを保存して閉じました。
次に、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によって作成されたものですか。
そしてより重要なのは:どうすれば削除できますか?
他のファイルと同じように削除するだけです。例えば:
rm MyHeader.h.orig
または、追跡されていないファイルが他にない場合は、
git commit -a
あなたはあなたのリポジトリをきれいにするかもしれません
git clean -n
git clean -f
git clean -n
はgit clean -f
が何をするかを教えてくれるので、あなたはそれがあなたが望むものであると確信することができます。
それらが唯一の追跡されていないファイルである場合は、git clean
を使用してそれらを削除できます。 -n
フラグを指定して1回実行し、何が削除されるかを確認してから、確信がある場合は-f
を指定して実行します。保持したい追跡されていないファイルがある場合は使用しないでください。
最初にマージをコミットします。
すべてが問題ないことを確認したら、手動でこれらの余分なファイルを削除します(rm <filename>
、 例えば)。