2012-03-20 15 views
2

これはすでにどこかで答えられているのですが、見つけられないのでしょうか?Git:リモートマスタを追跡するリモートブランチを作成する

私は、リモートマスターを追跡するリモートブランチ "newfeature1"を作成します。 私はマスターとnewfeature1ブランチを自分のローカルリポジトリ内で追跡すると、マスター、コミット、プッシュで何かを変更でき、newfeature1ブランチに切り替えるとgit pullが実行され、そこにもその変更が加えられることが期待されます。しかし、それは動作しません。ここで

は、私が試したものです:

は、それがあること(ローカルマスターにリモートgit checkout --track origin/webkit

ローカル git branch --track origin/newfeature1 origin/master

トラックリモートブランチをマスタースイッチを追跡するために git push origin origin:refs/heads/newfeature1

フォースリモートブランチを作成します。リモートマスターを追跡): リモートgit pullから210個の

変更し、いくつかのファイルとnewfeature1ブランチへgit commit -am "test" && git push

スイッチgit checkout newfeature1

プル

私は私がここにmasterブランチで行った変更を取得すると予想しているだろうが、私は推測

リモートブランチはマスターから自動的に更新されず、トラッキングしています。

どのようにこれを達成するためのヒント?

答えて

3

他のリモートブランチを追跡するリモートブランチを持つことはできません。ローカルブランチを持つリモートブランチだけを追跡できます。私はあなたがいくつかのことを逆にしてきたと思います。あなたのローカルマスターにコミットしてそれらの変更をプッシュすると、ローカルマスターに変更が既にあります。これらの変更を別のブランチから追跡する必要はありません。あなたのローカルブランチnewfeature1であることをマスタに作られたそれらの変更をしたい場合は、単にそのブランチをチェックアウトし、あなたが実際に共有したい場合を除き、リモートリポジトリにnewfeature1を押し上げるする必要はありませんマスターに

git checkout newfeature1 
git merge master 

をマージそのブランチは他の開発者と共同作業するときに使用します。それを地元に保つ。

+0

本当にありがとう、私はそれを逆にしようとしていました。しかし、あなたはマージ作業をローカルでうまくいきます。 – joekr

関連する問題