2012-04-01 4 views
5

個人的には、私がgitやLinuxのrepoをgitkで見ると、膨大な量のマージ/ブランチが完全に圧倒されます。私は何が起こっているのか全く分かりません。Git:git/linuxのメンテナーが非常に多くの支店を維持する方法

一般的には、公開レポにできるだけ線形の履歴を持ち、いくつかのブランチ(master、maint、next、pu-thatsなど)を持つことを想定していました。私。マージはめったになく、主にリベースが使われていると私は考えました。明らかに私は間違っています。

  1. 私はgitの/ Linuxのメンテナは、彼らがより頻繁にリベースとだけマスター、MAINTよりもはるかに多くの支店を持って、次のPU使用していないのはなぜ良い簡単な概要
  2. を持っているんだろうか?
+0

ブランチは安いのでよく利用されます:) – Nic

+0

2007年[Google Tech Talk](https://www.youtube.com/watch?v=4XpnKHJAok8)Linus Torvaldsはgitの使い方の例をいくつか挙げています特に、カーネルとgit自体について。 – andrybak

答えて

3

Gitとリベースとの関係を理解するには非常に重要なことがあります。あなたはそれがローカルだ原因ローカルあなたは、あなたが好きなだけ頻繁にリベース使用することができますマージに取り組んでいる時間の間

Do not rebase commits that you have pushed to a public repository. 

。線状ヒストロイが好きなら。言い換えれば、彼らがしたリベース作業は見えません。

ブランチの数の他の部分は、単に一種の経験であり、概念の問題以上のものです。私は並行して300以上の枝で分岐を行っています。これは慣習と良いコンセプトを使って獣を飼いならすだけのものです。

2

私はカーネル開発者ではなく、確かに話すことができません。 Here's Linusがこれについていくつか話した参考書、私はあなたの質問に答えると思います。私は多くのランダムを持っていることを追加しますブランチは混乱していますが、それに少しの順序を課すことはをより簡単にするブランチIMHOを持っています。 (例としては、意味のあるコミットメッセージを含むtopic/short_nameという名前のトピックブランチがあり、開発者はいくつかの外部ドキュメントを保持し、お互いに実際にやり取りすることができます)。

thisワークフローは、実際にはGitの読み込みが必要なため、あなたの質問に適用されます。

remotes/origin/masterを追跡し、通常master

+0

+1そのGitワークフローへのリンクです。それは私が見たもっとも良いGitの説明です。 –

0

あなたはgitのレポのクローンを作成しているとき、あなたはすべてのリモートブランチを取得する可能性があることを忘れないでください、しかし、あなただけの作成とチェックアウトローカルブランチ(なぜこれがあります「Track all remote git branches as local branches」)

は、アップツーあなたの仕事を保つために、あなただけチェックアウトしてある特定のブランチを追跡し、いくつかの作業を行う、とorigin/branchの上に定期的にあなたのローカルブランチをリベースう興味のあるトピックに応じて、次のような質問を持っています日付。

What is the right git workflow with shared feature branches?」に示すように、バックマージであり、回避する必要があります。公的な支店からブランチにマージすることはありません。

0

Greg K-H Ask a kernel developerの項目をチェックしてください。彼のワークフローについて詳しく説明しています。 Gregは以前は安定した支店の管理者でした。彼はUSBを含む多くのサブシステムの現在の管理者です。

関連する問題