簡體   English   中英

在 Git 中使用遠程分支的方法

[英]Approaches to Working With Remote Branches in Git

這是一個隨機的git問題。 我正在研究查看@遠程分支的所有方法。 我覺得有三種方式......也許更多。

  1. git switch --create < local branch name > origin/< remote branch name >
  2. git checkout -b < local branch name > origin/< remote branch name >
  3. git checkout -t origin/< remote branch name >

兩個問題:

  1. 這是在遠程分支上工作的三種主要方式嗎?
  2. 這些方法有什么好處還是只是 TMTOWTDI(有不止一種方法可以做到)?

從技術上講,所有這些導致你的工作像一個遠程跟蹤名稱1 origin/masterorigin/feature/short 他們只是創建一個(常規的,即本地的)分支名稱,如masterfeature/short ,並將origin/masterorigin/feature/short設置為其上游

在這種情況下,它是一個龐大的 TMTOWTDI 集,因為您還可以執行以下操作:

git checkout feature/short

這將“DWIM”到git checkout -t origin/feature/short ,和/或您可以使用git branch在您喜歡的任何開始提交時創建分支名稱,然后使用git branch --set-upstream-to進行設置您創建的名稱的上游。

一旦您使用git checkoutgit switch在(本地)分支(名稱)上,您所做的新提交將以通常的方式更新該名稱。 正如eftshift0 評論的那樣,您可以使用分離的 HEAD 來查看任何特定提交,包括由遠程跟蹤名稱標識的提交。


1我更喜歡這個術語,遠程跟蹤名稱,而不是官方 Git 術語,遠程跟蹤分支名稱等。 這些名稱確實跟蹤其他 Git 的分支名稱,因此“remote-tracking-branch-name”(全部作為一個大短語)是合適的,但是將其縮短為“remote-tracking-branch”然后將其轉換為真的很容易“遠程跟蹤分支”,然后認為您可以以與(真實/本地)分支名稱相同的方式使用其中之一,而您不能。

(那個,可憐的詞branch在它死亡的時候被打敗了。我們已經對太多的詞這樣做了,比如tree ;我們可以善意地完全省略這個詞branch ,而不會失去意義。)

暫無
暫無

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

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