回答

收藏

Git 获取远程分支

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

我的同事和我正在开发同一个存储库。我们把它分成两个分支,每个分支在技术上都针对不同的项目,但它们有相似之处,所以我们有时希望master从branch.
4 S  A0 C' U- \  ?8 {4 I, {但是,我有branch. 我的同事怎么能专门拉那个分支呢?- h8 U2 F+ t- D/ Z
存储库的 Agit clone虽然我可以看到他们在我的推动之后仍然存在,但在当地似乎没有为他建立分支。' W4 Z3 T1 W8 C) G
另外,当我第一次做分支的时候,我做了-b checkout. 差别很大吗?. k; a9 p0 ]2 U
$ git branch -rorigin/HEAD -> origin/masterorigin/daves_branchorigin/discoverorigin/master$ git fetch origin discover$ git checkout discover这些是我的命令。但它肯定不起作用。! Q7 n% P: u  b/ M5 X
我希望检查分支机构,推送并提交各合作伙伴或工作站的分支变更
. g+ d) s3 J% d! ^9 ^, h2 e                                                                  q4 P- l; W0 ]5 J
    解决方案:                                                                1 F: v- A6 {, ~8 N: X
                                                                更新:使用 Git 开关下面写的所有信息都是准确的,但是git switch为了简化工作,增加了新的命令。* q3 a. J: N/ s9 ^4 E/ l' J" G
如果daves_branch存在于远程存储库中,但不在您的本地分支上,您只需输入:5 w7 H$ [/ @/ n4 Y; D) s* U) v
    git switch daves_branch& T( k: \6 u" h& [- ?( O
因为你在当地没有分支,它会自动switch查看远程仓库。然后自动设置远程分支跟踪。: l6 W4 v! N# _$ t  I2 S9 I
如果daves_branch不存在于本地,需要git fetch先使用switch.
% W0 V. `$ Z. g- V! s: P- E! q原帖您需要创建一个跟踪远程分支的本地分支。命令将创建一个名称daves_branch跟踪远程分支的本地分支origin/daves_branch。远程分支将在您推送更改时更新。! W* y, ?! H! ^0 R* i; N4 n  G
对于最新版本的 Git:0 O: T! B7 ^3 }; A% t- Z2 O
git checkout --track origin/daves_branch--track``git checkout -b [branch] [remotename]/[branch]在这种情况下是 [remotename] 是origin而 [branch] 在这种情况下daves_branch的两倍。
/ r# l* V0 ?. J3 D4 t0 d对于 Git 1.5.6.5.你需要这个:, ^! b+ u5 ?" Z3 ]- g) S
git checkout --track -b daves_branch origin/daves_branch对于 Git 1.7.2.3 和更高的版本,这就足够了(它可能开始得更早,但这是我能很快找到的最早确认):1 j. \% o2 _0 c$ V  H
git checkout daves_branch请注意,最近的 Git 在版本中,此命令不会创建本地分支,而是将您置于分离 HEAD状态。如果您想要本地分支,请使用它--track选项。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则