回答

收藏

如何检出远程 Git 分支?

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

有人叫一个testwith的分支推git push origin test送到共享仓库。我可以看到分支机构。git branch -r。
- X6 O" Y7 O2 X. X8 @, _1 z' n现在我正在尝试远程检查test分支。5 J  H9 x# r3 _$ t  I: a
我试过了:
0 \# n3 \- \! _5 p" L, r0 q7 O5 Ggit checkout test 什么都不做
' O( S0 v: \  L* H% x4 \git checkout origin/test给* (no branch). 这是令人困惑的。无分支怎么办?
如何检测远程 Git 分支?7 f" R' Y0 J+ b) }( m
                                                               
4 d( }$ Z5 S7 f2 j: Y    解决方案:                                                               
2 C- A1 g: `0 q3 G                                                                答案已经被拆分。原因是对于单个远程情况,由于歧义较少,可以简化一些命令。# @5 L, I' C. l+ I* x
针对 Git 2.23 更新:对于旧版本,请参考最后一部分。
& e/ q# U, x& @, c; E: O一个远程存储库在这两种情况下,首先从远程存储库中获取,以确保您下载所有最新的更改。+ r$ l( c% H5 b/ s& ^" h% E
$ git fetch这将为您获得所有远程分支。您可以通过以下方式查看可用于结账的分支:
1 V6 R9 v: v/ `5 x/ ^) }; v$ git branch -v -a...remotes/origin/test以 开头的分支remotes/*可视为远程分支的只读副本。要在分支上工作,你需要创建一个本地分支。这是使用 Git 命令switch(自 Git 2.通过指定远程分支的名称的名称(减去远程名称)完成:2 @) |$ E6 V: x0 @9 a+ k
$ git switch test在这种情况下,Git 猜测( 禁用)--no-guess)您正在尝试检测和跟踪具有相同名称的远程分支。
6 M  b# c0 C/ w. v8 R多个远程存储库远程仓库在存在多个远程仓库程仓库需要明确命名。  B% r  j0 D7 D7 N- P3 A) V
和以前一样,首先获得最新的远程变更:$ m0 s) F3 T6 V' Z! [
$ git fetch origin这将为您获得所有远程分支。您可以通过以下方式查看可用于结账的分支:$ h8 g! d' \5 o" L# b/ x
$ git branch -v -a有了远程分支,你现在需要检查你感兴趣的分支-c创建新的本地分支:1 y4 O# x% ]  s, z' X6 \% {
$ git switch -c test origin/test有关使用的更多信息git switch:
' z7 ~* u" ^1 h9 s) w$ man git-switch我还创建了以下图片供您分享差异,看看如何获得工作,以及如何拉动:4 m4 {* f$ Q9 @* R+ |0 F2 f9 q, ?
$ R1 @9 t& A  N/ U
在 Git 2.23 之前git switch在 Git 2.在此之前,添加23 git checkout切换分支。, e) r1 Z# I; _0 m2 w' @6 ?6 d
使用单个远程存储库签字:
3 P4 c7 V. U5 d1 [" N) C) I! }git checkout test若配置多个远程存储库,则会变长一点
% e) a  H( G8 L9 Jgit checkout -b test /test

本帖子中包含更多资源

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

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

本版积分规则