2013-02-21 11 views
5

Android Kernelでいくつかの作業をしています。私はgitに非常に精通していますが、repoに非常に精通しているわけではないので、私は次の文書を読む:http://source.android.com/source/version-control.html。そこからの私の理解と、トピックブランチを使って実験すると、repo start BRANCH_NAMEgit checkout -b BRANCH_NAMEと同じです。私の理解が間違っているのですか、または私が紛失している微妙で重要な詳細がありますか?レポ開始のためstart.py source codeを見てみるとレポ開始とgit checkoutの違い-b

答えて

2

は、私が主な違いは、Androidプロジェクトに含まれているmanifest filesの管理であると考えています。

は、マニフェストで指定されたリビジョンから開始して、開発の新しいブランチを開始します。リモート設定とマージします

git checkout -b newBranch -t aosp/master 

-t =「トラック:


Trevor Johns "answerに追加するには(あなたがrepo startを使用していないとき)、あなたは "How do you make an existing Git branch track a remote branch?" をチェックする必要があります")を追加します。

シンプルgit checkout -bは何も設定し、

+0

おかげで、VonC、私はそこに考え出しました2との間で何か違うものになる。 –

4

差がrepo startは、内部のブランチのためremotemergeプロパティを設定していることである(リモートレポに任意の上流分岐を追跡せずに)純粋にローカルブランチを作成しないでしょう.git/configに:これらなし

[branch "YOUR_BRANCH_HERE"] 
    remote = aosp 
    merge = master 

、レポは後でrepo uploadを実行したときに適切に変更をアップロードする方法を知らないだろう、とあなたの新しいブランチは、単に存在しないかのように動作します。

(そこでは、--allと同時にレポ内のすべてのプロジェクトのために新しいブランチを作成することができますそこにいくつかのロジックもありますが、それは単に便利なものです。)応答のための

関連する問題