回答

收藏

Git 获取远程分支

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

我的同事和我正在开发同一个存储库。我们把它分成两个分支,每个分支在技术上都针对不同的项目,但它们有相似之处,所以我们有时希望master从branch.
: I6 [3 o! X1 E$ [4 _但是,我有branch. 我的同事怎么能专门拉那个分支呢?
& k) k, ?9 j5 r1 {0 z$ H存储库的 Agit clone虽然我可以看到他们在我的推动之后仍然存在,但在当地似乎没有为他建立分支。
0 ]- n9 _# D0 b9 I  Y7 _另外,当我第一次做分支的时候,我做了-b checkout. 差别很大吗?+ s6 n* ~% r; n3 h
$ git branch -rorigin/HEAD -> origin/masterorigin/daves_branchorigin/discoverorigin/master$ git fetch origin discover$ git checkout discover这些是我的命令。但它肯定不起作用。
: b& S0 X4 K1 V6 L5 ^7 {' |& A4 n我希望检查分支机构,推送并提交各合作伙伴或工作站的分支变更
) ?) |/ B* z& T& E6 L                                                                , l: N! {# Z% ~; Z
    解决方案:                                                               
9 H3 Y4 K$ G4 k                                                                更新:使用 Git 开关下面写的所有信息都是准确的,但是git switch为了简化工作,增加了新的命令。
9 e% u$ ^( k) |* L如果daves_branch存在于远程存储库中,但不在您的本地分支上,您只需输入:
) U% p' L; F  [2 f
    git switch daves_branch
    , s  X* u# l1 O8 [
因为你在当地没有分支,它会自动switch查看远程仓库。然后自动设置远程分支跟踪。
) a1 q0 P0 ~: r: K4 S/ V/ }- K4 ]如果daves_branch不存在于本地,需要git fetch先使用switch.
6 M- R  _6 u6 M! O' _% C原帖您需要创建一个跟踪远程分支的本地分支。命令将创建一个名称daves_branch跟踪远程分支的本地分支origin/daves_branch。远程分支将在您推送更改时更新。
0 {! F( [2 n$ M1 o对于最新版本的 Git:& b+ D; n. O3 I3 f& y% ~" X7 o" W
git checkout --track origin/daves_branch--track``git checkout -b [branch] [remotename]/[branch]在这种情况下是 [remotename] 是origin而 [branch] 在这种情况下daves_branch的两倍。
* W% g# A+ i# f3 g/ T对于 Git 1.5.6.5.你需要这个:
/ A! k$ \: l6 w$ X. O, F; Ugit checkout --track -b daves_branch origin/daves_branch对于 Git 1.7.2.3 和更高的版本,这就足够了(它可能开始得更早,但这是我能很快找到的最早确认):6 ^$ s7 Z+ K0 K
git checkout daves_branch请注意,最近的 Git 在版本中,此命令不会创建本地分支,而是将您置于分离 HEAD状态。如果您想要本地分支,请使用它--track选项。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则