2012-04-04 5 views
26

私はGITでバージョン管理を始めたばかりです。私はこれをGuideと読んで、図HEREに示されている基本的なアプローチに従っています。それでも、gitブランチを使用して既存のコードから新機能の開発を分離する方法に疑問があります。gitとブランチを正しく使うには

ここは例です。

  • マスターブランチ(リリースバージョンを含む)
  • 支店(既存のプロジェクトの特徴からそれらを分離するために、新たな修正や機能を含む)の開発
  • :開始時に、私のリポジトリは、次の2つの主要な枝が含まれていると

新しい機能やモジュールを開発する必要がある場合は、Developからブランチを作成し、そこに新しいコードプロジェクトを開始します。たとえば、私はSun,Star、およびSuperNovaに関連する機能を追加するために3つの新しいブランチを作成します。

  • マスターブランチ:今、私のリポジトリは5つの支店が含まれている変更は、後に1.0.0
  • NewModule_Sunブランチを解放:(開発ブランチから作成)に突出するように日を追加
  • 1.0.0
  • 枝を開発しリリース
  • NewModule_Star支店:(開発ブランチから作成)
  • NewModule_SuperNovaブランチを投影するスターを追加します(開発ブランチから作成)プロジェクトに超新星を追加

リリース1.0.1の場合、SunStarモジュールを含めるが、SuperNovaは含めない。

  1. は(1.0.1をリリース)
マスターに発展
  • マージを開発
  • 開発にNewModule_SunをマージにNewModule_Starをマージ:だから、私は彼らがリリースして開発開発し、合併と合併します

    開発ブランチは永続的に保管する必要がありますが、SunStarブランチはもう必要ありません。これらは削除されます:

    • マスターブランチ:1.0をリリース

      1. は、これらが私のリポジトリは、以下の3つの分岐が含まれている変更後NewModule_Sun枝
      2. がNewModule_Star枝に

      を削除します。 1

    • 分岐の開発:リリース後の変更1.0.1
    • NewModule_SuperNovaブランチ:リリース1.0以降の変更。0(それはスター/日の枝とマージされていなかったとき、開発から作成)

    ==

    まず、私が正しくgitのブランチを使用していますか?

    第2に、Develop Developブランチの歴史を見直しましたが、NewModulesに関する情報が失われているようです。それは普通ですか?そして、すべての履歴情報をDevelopブランチに転送することは可能ですか?

    ありがとうございました!

  • +1

    これは役に立ちます。 http://stackoverflow.com/questions/2613903/does-deleting-a-branch-in-git-remove-it-from-the-history – codef0rmer

    答えて

    16

    gitの正しい使い方ですか?

    はい説明するワークフローは、ほとんど標準ワークフローです。いくつかのブランチを作成し、そのブランチ上で作業を続けるつもりでない限り、ブランチを作成して作業を完了したら、それをマージして不要なブランチを削除します。

    履歴を見ると、私は がブランチ自体に関するすべての情報を失っているように見えます...それは普通ですか?

    はいこれは正常です。

    ブランチを削除することはできますが、履歴情報は残しておくことが可能です は途切れていませんか?

    ここに何を意味するのかわかりません。ブランチを削除する前にブランチをマージしていれば、その履歴はそのまま残っています。あなたは別のブランチにそれをマージし、そのブランチで履歴を見ることができます。それがあなたが求めているものなら、ブランチがいつ削除されたかを知る方法はありません。

    +0

    ああok ..私はブランチの始まりと終わりを見るために方法を探していた(あなたはそれが不可解だと言った)...それは残念だ:( – Marcx

    +0

    @Marcx私はちょっと遅いが、多分あなたまだこのフラグを探しています "git merge --no-ff branchname" –

    9

    http://nvie.com/posts/a-successful-git-branching-model/は、git分岐の良いパターンを定義することをお勧めします。

    私は、あなたが(約6ヶ月)保つ価値のない変更履歴を時間をレンダリングしてから削除するまで、開発ブランチを一定期間保持していることが分かりました。

    +0

    私はそれを読む...私は実際にそのシステムを使用しています...基本的に私の主な疑問であるブランチの削除に関する私の質問は説明されていません:) – Marcx

    +0

    ありがとう。分岐パラダイムへの完全なn00bとして、あなたのリンクはまさに​​私が必要としていたものでした。 –

    関連する問題