1. ホーム
  2. git

[解決済み] ローカルファイルを上書きせずに、リモートからファイルを取得するには?

2022-05-27 03:22:03

質問

既存のリモートリポジトリに新しい git リポジトリをセットアップしようとしています。

私はローカルファイルをリモートリポジトリに上書きしたいのですが、git はまずそれらのリモートファイルを取り込んでマージする必要があると言っています。

pull するが、ローカルファイルがリモートによって上書きされないことを確認する方法はありますか?

どのように解決するのですか?

そうですね、イエスでもあり、ノーでもあり...です。

ローカル コピーがリモートにあるものを "オーバーライド" したいことは理解できますが、ああ、もし誰かがリモート リポジトリのファイルを何らかの方法で変更した場合、それは 異なる の方法でリモートリポジトリのファイルを変更した場合、あなたは を無視する を無視して、自分自身の変更を強制しようとします。 を見ることなく を見ることもなく、自分の変更を強制しようとするのは、あなた (とあなたの同僚) のために泣きます。)

とはいえ、それは 本当に 正しいことをするのは簡単なんだけどね。

ステップ1:

git stash

をローカルリポジトリに追加します。 これにより、ローカルでの更新を stash に保存し、変更したファイルを編集前の状態に戻すことができます。

ステップ 2:

git pull

を実行して、変更されたバージョンを取得します。 さて、うまくいけば、あなたが心配しているファイルの新しいバージョンを取得することはないでしょう。 もしそうでなければ、次のステップはスムーズにいくでしょう。 もし であれば、あなたはやるべきことをやっていることになります。

ステップ3

git stash pop

これで、ステップ1で隠しておいた修正版と、ステップ2で引っ張り出したばかりの版がマージされます。 すべてがスムーズにいけば、これで準備完了です!

一方、もし 本当の があった場合、それを解決するよう指示されます。 それを実行します。

物事はうまくいく 大いに この方法では、深刻で重大な問題を警告しながら、あなたの側で実際に作業することなく、おそらく変更を維持することができます。