2012-04-10 6 views
2

私のプロジェクトでは、通常は開発ブランチから新しいブランチを作成する必要があり、作業を完了すると(新規ブランチで)、新しいブランチを開発ブランチにマージする必要があります。git:2つのブランチをマージします。正しい手順は何ですか?

git clone –b development <git repository url> 
git branch new-branch 
git checkout new-branch 
git push --all 

私はnew-branchで自分のコードを行い、new-branchでcommit/pushコードを実行します。

私はnew-branchを開発にマージする必要があります(新しいブランチで自分のタスクを完了するまでに開発ブランチが他の開発者にコミットすることに注意してください)。私の質問は、新しいブランチを開発ブランチにマージし、それをリモートリポジトリにプッシュする正しいアプローチは何ですか?

おかげ

答えて

1

私は押しつぶされたがdevelop(ment)の上にコミットし、その後それを捨てるよう機能ブランチを置くことを好みます。

git checkout development 
git merge --squash new-branch 
git branch -D new-branch 
git push origin :new-branch 

このようにすると、機能全体を含む1つのコミットが維持されます。

0

他の人が「開発」を進めているとしたら、おそらく見たように、プッシュは「早送りしない」という警告のために失敗する可能性があります。したがって、適切なアプローチは、開発、ビルド、テストの変更を最初に引き出し、開発に戻すことです。あなたのワークフローは次のとおりです。

$ git clone -b development <development repository> <devdir>; cd <devdir> 
$ git checkout -b new-branch 
$ <edit, build test> 
$ git add ... 
$ git commit ... 
# repeat above 3 
# 
# now you want to get your changes back on development 
$ git pull origin development 
$ <build, test - to ensure new-branch works w/ latest development> 
$ git push origin new-branch:development 
0
git checkout master 
git merge dev 
git commit -m 'merged branches' 
関連する問題