2017-09-01 11 views
0

私はGitLabを私のエンタープライズのリポジトリとして使用しています。私はブランチ管理のいくつかの標準を調査しようとしています。私はthisを見ました。これは、Bitbucketのブランチ構造に関する推奨事項です。bitbucketブランチ構造にはどんな利点がありますか?

マスターブランチや他のブランチなどのより簡単な構造と比較して、どのような利点があるのか​​を知りたいと思います。

サーバ内のフォルダ構造で、各フォルダに関連するブランチがあるmaster、hotfix、feature、bugfix、releaseフォルダがあります。

正しいですか? あなたはそれをよりよく理解するための情報を私に提供することができますか?

+0

bugfix/fooはブランチの名前です。それはフォルダやそのようなものではありません。このような命名規則を使用すると、ブランチの目的を簡単に理解できます。彼らはまだ他の支店のような支店です。 –

+0

@JBNizetありがとう!知っておいてよかった。 – Maik

答えて

1

のフォルダの間の違いをご説明します。

フォルダは、フォルダ、ディレクトリ以外は何もありません。それはどのブランチにもあり得ます。それは、は、複数の人がお互いを乱すことなく、同じプロジェクトで作業できるようにするために使用されたプロジェクトファイル、サブディレクトリ、など一方

が含まれています。 2人がプロジェクトのさまざまな領域で作業しますが、いくつかのファイルを共有しているとしましょう。彼らがしているのは、両方とも自分のブランチを開き、例えばbranch_joebranch_lidiです。今すぐmasterにプッシュするのではなく、それぞれが自分のブランチにプッシュします。これを行うことにより、master(通常はメインプロジェクトに使用されます)がそのまま残ります。彼らは両方ともプロジェクト全体のいくつかのサブ問題について作業を終えた後、ブランチをmasterに統合します。変更が適用され、マージが行われ、すべてが素晴らしいです。

しかし、なぜ彼らは最初にmasterにプッシュできませんでしたか?さて、彼らは同じファイル、例えばfoo.cを変更しているので、問題が発生します。 Lidiがfoo.cを最初に変更し、masterにプッシュするとします。今ジョーは、同様に押したいと思うが、彼はブランチmasterの最新コミットではないので、彼はすることはできません。彼はまず引っ張る必要がありますが、foo.cという新しいバージョンがブランチmasterにあります。彼がfoo.cを変更しなかった場合、ローカルバージョンは以前のコミットから来ていることを知っているので、ローカルバージョンは上書きされます。しかし彼がマシン上でfoo.cを変更したので、gitは混乱します。 Joeのローカルファイルを上書きするか、Lidiがコミットしたファイルや何をするかをコピーするかどうかは不明です。そのような場合は、ファイルを>>>>><<<<のような行で一時ファイルにマージし、Joeは手動でファイルを編集して、自分が望む変更を選択する必要があります。ご覧のとおり、これは面倒で時間がかかります。

しかし、それぞれが独自のブランチで作業していた場合、Lidiは新しいfoo.cbranch_lidiにプッシュします。ジョーがfoo.cをプッシュしたいので、彼はbranch_joeにプッシュし、ブランチは重複しないので、LidiのコミットはJoeのfoo.cを妨げず、ブランチに問題なくプッシュします。彼らは仕事を終えた後、支店をmasterに合併します。マージ後、必要のないブランチを削除することもできます。

これは十分説明されていて、私はあなたを失いませんでした。

+0

ありがとう、良い説明が、どのようにgitの構造体がどのように分かれていたのかは分かりませんでした。これにもかかわらず、私はGitの初心者のためにそれが良い見つける。 – Maik

+0

ああ、申し訳ありませんが、私はなぜそれらを使用するか説明していました。構造化ははい、非常に高度なgitのものです(私はそれらを適切に構造化することを意味します)。いいえ問題tho! – campovski

1

私はGoogleでさらに検索しており、this postが見つかりました。

gitで正しく動作する方法と、名前の慣習の分岐を理解するのは非常に簡単です。

希望の人を助けてください。

関連する問題