新しいコミットを直接作成するのではなく、インデックスをリモートで変更する方法はありますか?Gitがインデックスを取得する
理想的には、ローカルの履歴を変更するのではなく、リモートコンテンツを含むパッチを適用するようなものです。
おかげ
新しいコミットを直接作成するのではなく、インデックスをリモートで変更する方法はありますか?Gitがインデックスを取得する
理想的には、ローカルの履歴を変更するのではなく、リモートコンテンツを含むパッチを適用するようなものです。
おかげ
git fetch
は、リモートから変更をフェッチしますが、あなたのmaster
ブランチにマージしません。それはリモートトラッキングブランチにあります。手動でマージすることができます。 git pull
は、これらの両方の操作を一緒に実行します。
次に、遠隔の履歴のどの点からパッチを生成すべきか、遠隔の変更をプルすることが問題になりますか?これはまさにマージが解決しようとする問題です。マージコミットは、これまでのローカルブランチに適用されたリモートバージョンを示します。
git fetch
とgit merge --no-commit
を実行すると、マージは作業領域(およびインデックス)で実行されますがコミットされず、メタデータはコミットすると状態になりますマージコミットとしてマークされます。それはあなたが必要とするものですか?
意図している作業フローは不明ですが、現在のブランチやインデックスに影響を与えずにリモート変更を取得できます。
git fetch
あなたはマージコミットを設定せずに、現在のインデックスに取り込ま変更をマージすることができますが、これは何をしたいために、かなりあいまいな珍しいものです。その後、3つの方向マージのオプションが良いかもしれない場合は、リモートブランチは、現在のHEADの早送りである場合
git read-tree -m HEAD origin/remote-branch
2つのツリーバージョンがベストです。
git read-tree -m $(git merge-base HEAD origin/remote-branch) HEAD origin/remote-branch
違いの詳細については、git read-tree
のmanページをお読みください。
このページにはコメントが残っていますので、正解を忘れています。
git-pull --no-commit [email protected]:username/project.git
this answerをご覧ください。マージのコミットを避けるために構成を調整することができます。
これはOPが実際に望んでいるものと思われます(インデックス*と*作業ツリーにマージしますが、コミットしません)。 'pull --no-commit'を実行するだけでよいことに注意してください。それは 'merge'に渡されます。 – Cascabel