簡體   English   中英

repo start和git checkout -b之間的區別

[英]Difference between repo start and git checkout -b

在Android內核中做一些工作。 我對git非常熟悉,但對repo並不是特別熟悉,所以我閱讀了以下文檔: http//source.android.com/source/version-control.html 根據我的理解,以及試驗主題分支, repo start BRANCH_NAMEgit checkout -b BRANCH_NAME相同。 我的理解是正確的,還是有一些我遺漏的微妙,重要的細節?

區別在於repo start為.git / config中的分支設置remotemerge屬性:

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

如果沒有這些,repo將不知道如何在以后運行repo upload時正確上傳您的更改,並且它將表現為您的新分支根本不存在。

(還有一些邏輯可以讓你用--all同時為repo中的每個項目創建新的分支,但這只是一個方便的事情。)

查看repo start的start.py源代碼 ,我認為主要區別在於管理Android項目中包含的清單文件

開始一個新的開發分支,從清單中指定的修訂開始。


要添加到Trevor Johns答案 ,您需要檢查“ 如何使現有的Git分支跟蹤遠程分支? ”(當您不使用repo start ):

git checkout -b newBranch -t aosp/master

這將在與新分支關聯的配置中設置遠程和合並( -t =“track”)。

一個簡單的git checkout -b不會設置任何東西,並創建一個純粹的本地分支(不跟蹤任何上游分支到遠程倉庫)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM