簡體   English   中英

來自遠程的git checkout分支

[英]git checkout branch from remote

我在stackoverflow中進行了大量搜索,有人說出結帳遠程分支的方法,您可以這樣做:

git checkout -b test origin/test

-b表示創建一個新分支

我很困惑為什么我不能這樣做:

git checkout test origin/test

我試圖執行此命令,但它進入了分離狀態。

我有以下問題:

  1. 它們之間有什么區別?
  2. 為什么從主線結帳時不需要“ -b”?
  3. 為什么git開發人員以這種方式設計的不是很直觀,為什么不僅僅使“ -b”成為默認行為呢?

如果存在遠程分支origin/test

首先執行git pull origin ,這將更新您的遙控器。 如果test尚不存在,則在此命令上應顯示以下消息

From <project url>
 * [new branch]      test -> origin/test

git checkout test應該足以創建和簽出名為test分支,該分支跟蹤遠程分支的origin/test

上面命令的輸出是: Branch test set up to track remote branch test from origin. Switched to a new branch 'test' Branch test set up to track remote branch test from origin. Switched to a new branch 'test'

我的git版本:

$> git --version

git版本1.7.10.2

  1. 在第一種情況下,您創建了一個名為test的分支,在第二種情況中,您沒有。 如果您還沒有名為test的分支,其中的路徑名為origin/test ,則該命令根本不起作用。
  2. 除非要創建分支,否則不需要-b 正如您注意到的那樣,僅簽出一個分支不需要-b
  3. 我想這只是一個設計決定。 如果您不喜歡它,則可以輕松地創建別名或宏來執行所需的操作。

暫無
暫無

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

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