2016-04-12 33 views
2

私はgithubレポoriginに2つのブランチ、masternewを持っています。私は2つの作業機械AとBを持っています。まずBでこのリポジトリを初期化し、Bのローカルブランチはmasterを追跡しています。それから私は支店を作り、newのためにAでコミットしました。git pushクロスブランチ、あるブランチから別のブランチへコミットをフェッチ

しかし、今私はnewにBで私の 'commit again'をプッシュしようとしていました。私は何をすべきか?または私は間違っていますか?

私はgitの初心者です。私は自分でチュートリアルを読んでいました。どのように、なぜか、まだ分かりません。助けてください。

==========これは========================

-----------(master)--------------->(new) 
       |      | 
       |      | 
      tracked by B   tracked by A 
       |      | 
       B---->1.some commit  A----> 2.brach and some commit 
       -->3.some commit again 
+0

はあなたがブランチを作成し、 'new' master''にコミットした後、その 'new'はすでにBは、はい... – Joost

+0

@Joostを持っているすべてのものを含まなければならないと言うと、私はいくつかは、再びBにコミットしません。 –

+0

あなたの質問_implies_それは本当にどこにでも言及していません。あなたの絵はそれと矛盾します。一貫性を保つようにしてください。 – Joost

答えて

1

git checkout new && git cherry-pick master && git pushどのように見えますか

1

私が好きなのは、同じブランチのAからBへの変更をプッシュすることです。正しいのですか?

Gitは中央リポジトリを持っていないので、あなたは、中央リポジトリのいくつかの種類をしている場合、あなたはそれにプッシュして、あなたの他に引き出すことができるからB.

に直接それをプッシュすることができますローカルマシン。

git push origin new 

あなたの中央リポジトリエイリアスが起源であると仮定します。あなたがそれにプッシュすることができますので、あなただけの変更、原点に行うようが、あなたの他のローカルマシンを識別するための名前だけです

git remote add <new_name> <machine B uri> 

NEW_NAME:

また、あなたの作業機Bを追加することができますあなたが直接プッシュすることができないだろうBの新しいブランチで、その間に何らかの変更がある場合

git push <new_name> new 

に名前を付けるには、最初に変更をプルする必要があります。

あなたはhistory simplerあなたが最初にあなたの変更をリベースすることができます保持する場合:

git pull --rebase <new_name> new 

をし、それが助け場合、私に教えてください

git push <new_name> new 

あなたの変更をプッシュ。

+0

助けてくれてありがとう。 –

関連する問題