1

1 か月前、私は github のプライベート リポジトリの 1 つで新しい機能に取り組み始めました。リポジトリをクローンしてブランチしました。それ以来、私は支店で働いています。

その間、コードは github の別のリポジトリに移動されました。今、私が行ったことを、新しい開発で進行中の新しい開発とマージする必要があります。

私の考え:

1 - 新しいリポジトリをチェックアウトします。

2 - リポジトリ内の最後の共通コミットと新しいコミットを見つけます。これは、マスター ブランチでの最後のコミットである必要があります。

3 - マスター ブランチと作業ブランチの間にパッチを作成します。

4 - パッチを新しいリポジトリに適用します。

これは正しいです?3 と 4 を実行するための git コマンドは何ですか?

4

2 に答える 2

1

git-rebaseつまり、変更を新しいレポにリプレイします。

git remote add new-repo /path/to/new-repo
git fetch new-repo
git checkout hacking-branch
git rebase hacking-branch new-repo/master
于 2012-05-25T15:48:30.193 に答える
0

.git/config新しいリポジトリが本当に古いリポジトリのフォーク/クローンである場合は、URL を新しい URLに置き換えるだけgit fetchで、新しいプロジェクトからすべてをプルできるはずです。それが完了したら、必要に応じてgit rebaseorgit mergeを使用できます。

1 つのプロジェクトだけを追跡するのではなく、両方のプロジェクトを追跡したい場合 (古いプロジェクトで進行中の開発があり、まだ時々プルしたい場合がありますか?)、新しいリポジトリを別のリモートとして追加することができます - git remote add newproj <URL>. 新しいリポジトリoriginの名前を使用できるように、古いリポジトリの名前を別の名前に変更することもできます。origin

これにより、ローカル リポジトリを新しい場所に指定するだけで、新しいコミットだけでなく古いコミットにも直接アクセスできるため、パッチ ルートに移動する必要がなくなります。

于 2012-05-25T16:11:33.600 に答える