在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(有多种方法可以做到)?
nongdada123456 回答:在Git中使用远程分支的方法

从技术上讲,这些都不会使您使用远程跟踪名称 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 commented,您可以使用分离的HEAD来查看任何特定的提交,包括那些由远程跟踪名称标识的提交。


1 相对于正式的Git术语,远程跟踪分支名称等,我更喜欢该术语远程跟踪名称。这些名称确实会跟踪其他Gits的分支名称,因此“ remote-tracking-branch-name”(全部用一个大词组表示)是适当的,但是将其缩短为“ remote-tracking-branch”然后将其转换为“远程跟踪分支”,然后认为您可以以(真实/本地)分支名称的相同方式进入其中一个,而不能。

(那,可怜的单词 branch 被打败了很久,已经死了。我们已经对太多的单词(如 tree )做了此操作;我们可以亲切,只是完全省略 branch 一词,而不会失去任何含义。)

本文链接:https://www.f2er.com/2952826.html

大家都在问