1. ホーム
  2. ギット

[解決済み】git-pullをプレビューする方法は?

2022-04-05 17:28:04

質問

それは可能なのでしょうか?

基本的に、リモートリポジトリがあり、そこからjustを使ってpullしています。

git pull

さて、このプルによって何が変わるのか、私の側では何も触らずにプレビュー(diff)してみたいと思います。その理由は、私がプルしたものが "good" でないかもしれないからで、私のリポジトリを "dirty" する前に他の誰かにそれを直してもらいたいのです。

解決方法は?

を実行した後 git fetch を実行します。 git log HEAD..origin/master を実行すると、最後の共通コミットとオリジンの master ブランチとの間のログエントリが表示されます。diff を表示するには、次のいずれかを使用します。 git log -p HEAD..origin/master で各パッチを表示するか、あるいは git diff HEAD...origin/master (2つではなく3つの点)で、1つの差分を表示します。

通常、フェッチを元に戻す必要はありません。 リモート ブランチと あなたの ブランチを作成します。プルしてすべてのリモートコミットをマージする準備が整っていない場合は git cherry-pick を使えば、必要な特定のリモートコミットだけを受け入れることができます。後ですべてを取得する準備ができたときには git pull は残りのコミットをマージします。

更新:なぜgit fetchの使用を避けたいのか、その理由がよくわかりません。git fetch が行うのは、リモートブランチのローカルコピーの更新だけです。このローカルコピーは、あなたのブランチとは何の関係もありませんし、コミットされていないローカルな変更とは何の関係もありません。git fetch を cron ジョブで実行している人の話を聞いたことがありますが、それはとても安全だからです。(私は通常それを行うことをお勧めしませんが)。