回答

收藏

如何检出远程 Git 分支?

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

有人叫一个testwith的分支推git push origin test送到共享仓库。我可以看到分支机构。git branch -r。, J7 |4 k. t' o2 y; h3 R. E" t
现在我正在尝试远程检查test分支。; h7 V5 A# a0 T8 ?( _
我试过了:6 [- F5 \. Z; R. c' c5 n
git checkout test 什么都不做1 K( p8 X1 a$ N: g8 `5 x. Q" L9 E
git checkout origin/test给* (no branch). 这是令人困惑的。无分支怎么办?
如何检测远程 Git 分支?* {; B6 s" p1 @, h% [1 G
                                                               
# z  \2 @3 z7 `, n3 o, k    解决方案:                                                                , \$ j/ w8 f. l
                                                                答案已经被拆分。原因是对于单个远程情况,由于歧义较少,可以简化一些命令。
- W) X0 M' i; r" s( L' a% Y针对 Git 2.23 更新:对于旧版本,请参考最后一部分。0 @7 `: v4 f9 ^  r7 W
一个远程存储库在这两种情况下,首先从远程存储库中获取,以确保您下载所有最新的更改。) ?& b# L3 C; o8 X# X' g" |
$ git fetch这将为您获得所有远程分支。您可以通过以下方式查看可用于结账的分支:+ G- Y: }. y6 s2 q
$ git branch -v -a...remotes/origin/test以 开头的分支remotes/*可视为远程分支的只读副本。要在分支上工作,你需要创建一个本地分支。这是使用 Git 命令switch(自 Git 2.通过指定远程分支的名称的名称(减去远程名称)完成:
* O: w) t6 \$ |8 W/ A; i  R$ git switch test在这种情况下,Git 猜测( 禁用)--no-guess)您正在尝试检测和跟踪具有相同名称的远程分支。* C5 U6 g1 P& Z* C+ ]
多个远程存储库远程仓库在存在多个远程仓库程仓库需要明确命名。' F$ h" J9 i5 K" ^$ I- S
和以前一样,首先获得最新的远程变更:$ x' Z! i3 C/ C( w
$ git fetch origin这将为您获得所有远程分支。您可以通过以下方式查看可用于结账的分支:" w% i, `( H# {" J9 f/ K
$ git branch -v -a有了远程分支,你现在需要检查你感兴趣的分支-c创建新的本地分支:
* q" |: U/ p7 j" Z$ git switch -c test origin/test有关使用的更多信息git switch:% b8 z+ v0 y: I: L6 f" T8 d6 U
$ man git-switch我还创建了以下图片供您分享差异,看看如何获得工作,以及如何拉动:5 c; q% S. r3 `& S; C

! r# d7 X( f  V( e在 Git 2.23 之前git switch在 Git 2.在此之前,添加23 git checkout切换分支。
4 C, e8 K% P( c  e使用单个远程存储库签字:3 H+ _( V3 w6 ?5 j( R0 V' p
git checkout test若配置多个远程存储库,则会变长一点7 X9 O% }# }7 S& U8 c, s/ [- t
git checkout -b test /test

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则