回答

收藏

Git 获取远程分支

技术问答 技术问答 306 人阅读 | 0 人回复 | 2023-09-12

我的同事和我正在开发同一个存储库。我们把它分成两个分支,每个分支在技术上都针对不同的项目,但它们有相似之处,所以我们有时希望master从branch.
, B2 |4 a. E6 S( L' ?/ b但是,我有branch. 我的同事怎么能专门拉那个分支呢?
0 r0 F% [: w9 ~9 G# \' v! F) d存储库的 Agit clone虽然我可以看到他们在我的推动之后仍然存在,但在当地似乎没有为他建立分支。3 R1 q1 P* }5 p  h) G
另外,当我第一次做分支的时候,我做了-b checkout. 差别很大吗?
8 R; |. Q# G5 q+ x+ T5 U+ {5 C$ git branch -rorigin/HEAD -> origin/masterorigin/daves_branchorigin/discoverorigin/master$ git fetch origin discover$ git checkout discover这些是我的命令。但它肯定不起作用。
. U/ q( |5 m; a我希望检查分支机构,推送并提交各合作伙伴或工作站的分支变更
/ T7 z& [/ P  b                                                               
; l% ]) ^$ [7 `, D5 O" F) j. K    解决方案:                                                                ; w6 @- j) u+ u, r9 @2 A% ?1 M2 u
                                                                更新:使用 Git 开关下面写的所有信息都是准确的,但是git switch为了简化工作,增加了新的命令。
: v( V! ?" x+ g) z如果daves_branch存在于远程存储库中,但不在您的本地分支上,您只需输入:
$ K7 r+ H5 B8 n) s6 T
    git switch daves_branch
    4 n" @( k% G5 [* _; }  s
因为你在当地没有分支,它会自动switch查看远程仓库。然后自动设置远程分支跟踪。, e& V; D4 A7 H
如果daves_branch不存在于本地,需要git fetch先使用switch.# t! D, m, e5 e2 |
原帖您需要创建一个跟踪远程分支的本地分支。命令将创建一个名称daves_branch跟踪远程分支的本地分支origin/daves_branch。远程分支将在您推送更改时更新。7 A$ x' l" C) i6 Z  _5 {  J
对于最新版本的 Git:& Q% i5 p8 L) T1 \1 [7 H7 c$ B
git checkout --track origin/daves_branch--track``git checkout -b [branch] [remotename]/[branch]在这种情况下是 [remotename] 是origin而 [branch] 在这种情况下daves_branch的两倍。
$ J2 k! X! G! Z& L' N对于 Git 1.5.6.5.你需要这个:
0 D8 _) @( F5 x. w* Z4 r+ s4 wgit checkout --track -b daves_branch origin/daves_branch对于 Git 1.7.2.3 和更高的版本,这就足够了(它可能开始得更早,但这是我能很快找到的最早确认):2 `6 q- M$ C2 O
git checkout daves_branch请注意,最近的 Git 在版本中,此命令不会创建本地分支,而是将您置于分离 HEAD状态。如果您想要本地分支,请使用它--track选项。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则