3

私は2つのファイルa.rbb.rb. Sublime Text でそれらの名前を手動でc.rbandd.rbに変更し、これらのファイルにいくつかの変更を加え、次のコマンドを使用してブランチをリモート リポジトリにプッシュしました。

git add
git commit -m "message"
git push origin branch-name

git mv手動で名前を変更する代わりに、実行する必要がありました。

他の人がマージの競合を起こさないように、この問題を修正する適切な方法が必要です。私が考えることができる唯一の方法は次のとおりです。

git checkout branch.
git rm c.rb.
git mv a.rb c.rb.
copy paste my old c.rb code to a.rb.

これを修正するより良い方法はありますか?

4

3 に答える 3

7

git mv は特別なことは何もしません。git add と git rm を実行するだけです。追加と削除ではなく移動されたファイルであるという事実はどこにも記録されていません。ログを要求すると推測されます。

あなたがする必要があるのは、あなたがしたと私が思う新しい名前に対して「git add」を行い、既存のファイルに対して「git rm」を行ったことを確認することだけです。

于 2013-05-30T16:09:33.293 に答える
0

コミットの直前に、ブランチ「ヘッド」のソフト リセットを実行できます。次に、git mvコマンドを使用してファイルの名前を変更します。

上記を行いたくない場合は、ファイル「a.rb」と「b.rb」を削除するだけです。

$ git ls-files --deleted | xargs, 

これにより、削除されたファイルが追加されます。変更をコミットしてプッシュし、プロジェクトの共同作業者がそれをプルすると、新しいファイルがプルされ、以前のファイルが削除されます。

于 2013-05-30T15:47:35.807 に答える