2

私は自分のプロジェクトに取り組んでいる唯一の人間であり、開発マシン、NAS、および別のマシンを持っています。私は自分の開発に取り組んでおり、自分のプロジェクトの変更を自分の NAS のリモート リポジトリにプッシュします。通常はこれでうまくいきますが、ディレクトリにいくつかの変更を加えて、自分の NAS のマスター ブランチにプッシュしました。私は再びいくつかのディレクトリを変更し、それらを再び NAS にプッシュしたいと考えました。最初にプルを行ったところ、次のようにgit pull origin master失敗しました。

CONFLICT (rename/rename): Rename "svgopen/presentation/images/wine-problem.jpg"->"presentation/svgopen/images/wine-problem.jpg" in branch "HEAD" rename "svgopen/presentation/images/wine-problem.jpg"->"presentation/images/wine-problem.jpg" in "7fee244f7b93b0300783519870f2a8287ef6ace4"

git status ショー:

#   added by them:      images/wine-problem.jpg
#   added by them:      images/wine-problem2.jpg
#   added by us:        svgopen/images/wine-problem.jpg
#   added by us:        svgopen/images/wine-problem2.jpg

移動された画像ディレクトリ内の同じ画像を示します。「私たちによる」すべての追加が維持されるものであることをgitにすばやく納得させる方法はありますか? そして、「彼らによって」はゴミであり、無視できますか?

4

2 に答える 2

2

マージを行う場合は、次のオプションを使用できますgit merge -s recursive -X ours。これにより、競合の解決において、ローカルの変更が正しいものとして自動的に受け入れられます。

または、プロジェクトに参加しているのはあなただけなのでgit push --force、リモート リポジトリを強制的にローカル コピーと一致させることができます。

于 2012-05-09T07:00:37.097 に答える
0

すでに競合している場合は、次のことができます。

git checkout --ours file

詳細については、このブログ投稿を参照してください

于 2012-05-09T07:05:36.840 に答える