2013-03-26 23 views
8

バージョン管理システムでgitをはじめて使用しています。 私は新しいプロジェクトを開始しています。したがって、プロジェクトで使用されているテクノロジ(hello world examples ...)を少し試してみたいと思います。私は "遊び場"のようなものを作りたいと思っています。新しいブランチ "プレイグラウンド"を作成するのは一般的ですか?それとも、masterブランチにplaygroundという名前のフォルダを作成するだけですか?いつ新しいブランチを作成する必要がありますか?

よろしく

答えて

13

あなたが自然の中でやや実験的なもので、開発作業を行う場合は、新しいブランチを作成する必要があります。だからあなたのシナリオでは、間違いなく新しいブランチを作成し、マスター内のフォルダを作成しないでください。マスターのディレクトリとしてサンドボックスの作業を作成した場合、gitを使用してサンドボックスを削除するまで、サンドボックスの作業はそこに存在します。マスターブランチにデッドコードを置くことは、他の開発者を混乱させる可能性があり、アプリケーションの存続期間中に腐って座ってしまう可能性があるため、理想的ではありません。

あなたのチームがバグを経験した場合、バグがそのディレクトリ内に存在するかどうかを判断するために実験的な作業を探索する時間を無駄にしたくないでしょう。新しいブランチを作成すると、マスターブランチから変更を分離することができます。実験がうまくいく場合は、変更をマスターブランチにマージするオプションが常にあります。物事がうまくいかない場合は、ブランチを破棄したり、ローカルのリポジトリ内に保管したりすることができます。

+2

"新しいブランチを作成する必要があります..."、常にピリオド。 –

3

ブランチには多くの用途があり、ワークフローによっては少し異なります。一般的に使用される2つのワークフローは以下のとおりです。

両方使うので、バックかつてレディ/受け入れマージされますの新機能を構築するためにトピックブランチと呼ばれます。

Githubフローはかなりシンプルで、明らかにgithubが使用しているものです。 Gitflowはもう少し複雑で、複数のバージョンのアプリケーションをサポートする必要がある場合に適しています。このバージョンでは、修正プログラムを適用できます。

最終的にはどのようなワークフローを使用するのが優先ですが、ブランチの作成はgitで非常に安いので、作成するブランチの数は問題にはなりません。

1

一般的な方法は、マスターブランチをライブブランチとして使用することです。それから、あなたは主人から新しい枝を作り、それらの上で仕事をします(フィーチャーブランチ)。作業を終えたら、変更内容をマスターにマージします。

devブランチのような新しいリモートブランチを作成し、プレビューだけを必要とするときにこのブランチに変更をマージすることができます。いくつかの方法がありますが、Googleには多くの情報があります。

Branching and merging
Git branching model

1

あなたはふてくされ実験によってではなく、遊び場レポに学ぶべきです。
レポのプレイグランドディレクトリは、あまり効果がありません。
いくつかの間違いを犯していくつかのことを学んでください - それを数回削除して野生に行ってください。

$ mkdir playground 
$ git init 
$ touch hello-world 
$ git add hello-world 
$ git commit -m "my first commit" 
$ git branch goodbye 
$ git checkout goodbye 
$ echo "goodbye" | cat >>hello-world 
$ git status 
$ git add hello-world 
$ git commit -m "goodbye commit" 
$ git merge master 

私はまた、GitHubのからお好みの言語で、アクティブなプロジェクトのフォークをつかんreccomendし、実際のコードであっなどをリベース、マージと一緒に行くを与えると思います。

1

あなたは新しい枝を作成することを検討し、これらのケースでそれらに取り組む必要があります: -

  • あなたは/仕事サンドボックス環境で何かをテストしたいです。

  • コミットを短くしておくことをお勧めします。頻繁にコミットすると、他人の開発領域が妨げられる可能性があります。そのため、ブランチで作業を完了し、後でブランチをメインブランチにマージすることをお勧めします。 [Tip]メインブランチとメインブランチを頻繁にマージしてブランチを同期させてください。だから後の時点で手でマージするようなことはほとんどありません。

  • バグを解決したいですか?他のブランチでそれを解決し、後でマージする方が良い。

  • コミットがうまくいかない/ビルドを壊した場合、本番ビルドは影響を受けません。だから私は少なくとも2つのブランチdevブランチとprodブランチを使用することを好む。すべてが完全にテストされたら、devブランチをプロダクションブランチにマージします。

関連する問題