「開発」と「マスター」という2つのローカルブランチがあります。彼らは似ています。私の会社のサーバーには、1つの「メイン」リポジトリ(本番)と、他の開発者によって作成されたいくつかのブランチがあります。
$ git branch -a * develop master remotes/Origin/HEAD-> Origin/master remotes/Origin/some-test remotes/Origin/feature1 remotes/Origin/feature2 remotes/Origin/master
どうすればマージできますremotes/Origin/feature1
およびremotes/Origin/feature2
ローカルの「マスター」ブランチにコピーし、それをすべて「開発」にコピーして、「開発」ブランチで実際のコードの操作を開始しますか?
git checkout master
git pull Origin feature1 feature2
git checkout develop
git pull . master
(またはgit rebase ./master
)最初のコマンドは、現在のブランチをmaster
に変更します。
2番目のコマンドは、リモートのfeature1
およびfeature2
ブランチから変更をプルします。 2つ以上のブランチをマージするため、これは「タコ」マージです。必要に応じて、2つの通常のマージを実行することもできます。
3番目のコマンドは、develop
ブランチに切り替えます。
4番目のコマンドは、ローカルmaster
からdevelop
への変更をプルします。
お役に立てば幸いです。
編集:git pull
は自動的にfetch
を実行するため、手動で実行する必要はありません。 git fetch
の後にgit merge
を続けたものとほぼ同じです。
Originをすべて「フェッチ」します。
git fetch Origin
リポジトリにあるので、ブランチをマスターにマージできます:
git checkout master
git merge Origin/feature1
git merge Origin/feature2
これでマスターを開発にマージできます
git checkout develop
git merge master
originにコミットする場合は、ローカルトラッキングブランチを設定して、ローカルアクセスと直接Originにプッシュできるようにします。
git branch --track Origin/feature1 feature1