GITによるバージョン管理は初めてです。私はこれ ガイド を読み、図 [〜#〜]こちら[〜#〜] に示されている基本的なアプローチに従っています。それでも、gitブランチを使用して既存のコードから新機能の開発を分離する方法については、いくつか疑問があります。
ここに例があります。最初に、私のリポジトリに次の2つのメインブランチが含まれているとします。
新しい機能やモジュールを開発する必要があるときは、Developからブランチを作成し、そこで新しいコードプロジェクトを開始します。たとえば、Sun
、Star
、およびSuperNova
に関連する機能を追加するために、3つの新しいブランチを作成します。現在、私のリポジトリには5つのブランチが含まれています。
リリース1.0.1の場合、Sun
およびStar
モジュールを含めますが、SuperNova
は含めません。そこで、それらをDevelopとマージしてから、Developとリリースをマージします。
Developブランチは永続的に保持する必要がありますが、Sun
およびStar
ブランチは不要になりました。彼らは削除されます:
これらの変更後、私のリポジトリには次の3つのブランチが含まれます。
==
まず、gitブランチを正しく使用していますか?
次に、最後のDevelopブランチの履歴を確認しましたが、NewModules
に関する情報が失われたようです。それは正常ですか?そして、すべての履歴情報をDevelopブランチに転送することは可能ですか?
ありがとうございました!!
私はgitを適切に使用していますか?
はい、あなたが説明するワークフローはかなり標準的なワークフローです。いくつかのブランチを作成し、そのブランチで作業します。完了したら、ブランチをマージし、不要なブランチを削除します(そのブランチでの開発を継続する場合を除く)。
ブランチを削除した後、履歴を表示すると、ブランチ自体に関するすべての情報を失ったように見えます...それは正常ですか?
はい、これは正常です。
ブランチを削除することはできますが、履歴情報はそのままにしておきますか?
ここで何を意味するのかわからない。ブランチを削除する前にマージしている限り、履歴は残っています。これを別のブランチにマージすると、そのブランチで履歴を確認できます。それがあなたが求めているものである場合、ブランチがいつ削除されたかを知る方法はありません。
Gitブランチの適切なパターンを定義する http://nvie.com/posts/a-successful-git-branching-model/ をお読みになることをお勧めします。
私は、開発ブランチを一定期間保持し、それらのリビジョンで行った変更履歴が保持する価値のないものになるまで(約6か月)、削除します。