4

我们使用 github 存储库作为我们的“中央存储库”。

我们计划让多个编码人员以下列方式在登台服务器上工作:

  1. 编码人员在其本地存储库的单独分支上工作;
  2. 编码人员将更改推送到 github;接着
  3. 编码人员将更新从 github 拉到服务器 repo

因此,在实践中,在第 3 步中,编码人员将在暂存存储库上运行以下命令:

git checkout coderA-updates
git pull origin coderA-updates
git checkout master

有没有办法无需先更新特定分支git checkout


TLDR:你如何在不git pull origin remoteBranch localBranch切换活动分支的情况下做一些事情?

谢谢 :)

4

3 回答 3

2
git checkout branchB
git pull origin branchA

这会获取发生的更改branchA并将它们合并到本地branchB

git help merge说:

将来自命名提交的更改(从它们的历史从当前分支分歧的时间开始)合并到当前分支中。

所以,我相信如果不使其中一个成为当前分支,就不可能与 2 个分支一起工作。

您可以git stash在当前活动的分支中使用来保存更改,然后 checkoutbranchB和 pull branchA。合并完成后,签出存储更改的分支并使用git stash apply.

或者您可以在结帐/拉取之前简单地提交更改。

我希望这有帮助。

于 2012-11-19T12:19:05.580 回答
1

使用普通的fetch

git fetch origin remoteBranch:localBranch

默认情况下,这仅适用于快进更改(请参阅文档)。

于 2012-11-20T06:10:05.810 回答
0

来自git help pull

概要

   git pull [options] [<repository> [<refspec>...]]

描述

[...]

可以命名任意远程引用(例如,标签的名称),甚至是具有相应远程跟踪分支的引用集合(例如,refs/heads/ :refs/remotes/origin/),但通常是名称远程存储库中的一个分支。

所以,你可以做git pull remoteBranch:localBranch,它会工作。

于 2012-11-19T16:14:51.833 回答