4

「中央リポジトリ」として github リポジトリを使用しています。

次の方法で、複数のコーダーがステージング サーバーで作業することを計画しています。

  1. コーダーはローカル リポジトリの別のブランチで作業します。
  2. コーダーは変更を github にプッシュします。その後
  3. コーダーは更新を github からサーバー リポジトリにプルします

したがって、実際には、ステップ 3 で、コーダーはステージング リポジトリで以下を実行します。

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

最初に特定のブランチを更新することなく、特定のブランチを更新する方法はありgit checkoutますか?


git pull origin remoteBranch localBranchTLDR:アクティブなブランチを切り替えることなく、次のようなことを行うにはどうすればよいですか?

ありがとう :)

4

3 に答える 3

2
git checkout branchB
git pull origin branchA

これは で発生した変更を取得しbranchA、それらを local にマージします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>...]]

説明

[...]

任意のリモート ref (たとえば、タグの名前) または対応するリモート追跡ブランチを持つ ref のコレクション (たとえば、 refs/heads/ :refs/remotes/origin/ ) に名前を付けることができますが、通常は名前ですリモートリポジトリのブランチの。

だから、あなたはすることができgit pull remoteBranch:localBranch、それはうまくいくでしょう。

于 2012-11-19T16:14:51.833 に答える