web-dev-qa-db-ja.com

現在のブランチのみをgit pullするにはどうすればよいですか?

どのブランチを指定せずにこれを設定する設定方法はありますか?

67
qodeninja

Gitはすでに現在のブランチをプルするだけです。ブランチを追跡ブランチとして設定している場合、リモートブランチを指定する必要はありません。 git branch --set-upstream localbranch reponame/remotebranchは追跡関係を設定します。次にgit pull [--rebase]を発行すると、そのブランチのみが更新されます。

もちろん、すべてのリモート追跡ブランチとリモートのすべての参照が更新されますが、ローカル追跡ブランチのみが変更されます。

64
Seth Robertson

私はこのようにしました:

git pull Origin "$(git branch | grep -E '^\* ' | sed 's/^\* //g')"

または

git pull Origin $(git rev-parse --abbrev-ref HEAD)

これは、git branchから現在のブランチを抽出し、そのブランチをリモートOriginからプルします。

Seth Robertsonが言ったように、引数が与えられない場合、現在のブランチのみが変更され、すべてのリモートブランチがフェッチされることに注意してください。すべてのリモートブランチを取得したくないので、この方法で取得しました。

48
ayke

[〜#〜] update [〜#〜]

私が追加した古い答えはもう機能しません:/。しかし、私が配置したプッシュバージョンについていくつかの賛成票を受け取った後、私にとって、この答えは実際に検索エンジンからここに来る人を助けることを意味するので、この答えを続けます。

Gitの新しいバージョンでこれを試してください:

$ git config --global Push.default current
16
Bruno Casali

はい、.gitconfigで変更できる設定があります。例:

[Push]
  default = current

現在のブランチをプッシュして、受信側で同じ名前のブランチを更新します。

確認者:

git config --global --get Push.default

git-config を参照してください。

3
kenorb

--set-upstreamフラグは非推奨であり、削除されます。したがって、--trackまたは--set-upstream-to

例:このブランチの追跡情報を設定する場合は、次の方法で設定できます。

git branch --set-upstream-to=<remote>/<branch> develop
3
biniam