2012-01-09 14 views
1

私は自分自身を地元のrepoの混乱の少しに入れました。 Long story短いですが、私は遠隔のレポのコピーを持っていました。自分のローカルレポに「my_branch」というブランチを作成しました。私は数回仕事をしました。私はちょうどリモートのrepoにブランチを押しました。ここに私のローカルRepoダイアグラムがあります...(私はmy_branchをリモートにプッシュしたので、リモートも同じように見えます)。gitを使って、追跡されたブランチをリモートのorigin/HEADにマージするにはどうしたらいいですか?

--C0--------------C4-- (local master) 
     \ 
     --C1-C2-C3--  (local my_branch) 

私は完全に台無しにしてしまったと思う。私もgit reset --hardをやろうとしましたが、私はローカルレポをもう少し破損したと思います。だから私はきれいな場所から出発することに決めました。リモートリポジトリfollowing thisからmy_branchを取得しました。

次に、リモートからorigin/my_branchをチェックアウトしました。 (今私は私のGUIツールGitXに "分離されたHEAD"があることがわかりました)今、このブランチをorigin/headというリモートのorigin/masterとマージしますか?

答えて

1

あなたがその仕事を得るためにある分岐権利を作るには、今、あなたは他のブランチをチェックアウトし、それらをマージするかリベースすることができます

git checkout -b new-branch HEAD 

を追跡しました。

は、あなたがまだ追跡されていないリモートのいずれかのローカルブランチを取得するには:

git checkout -t origin/some-branch 

は今だけの枝を押し上げます。ほとんどの場合、あなたは私がこれを理解していれば、私は `gitのチェックアウト-t起源/ my_branch`を行うだろう私のためになるだけ...見に力プッシュ

git push -f origin some-branch 
+0

が必要になります(これはmy_branchのローカル追跡バージョンをチェックアウトだろうそして、私が 'git push -f origin my_branch'を実行すると、my_branchのローカルと原点をマージしようとするのですか? – milesmeow

+0

いいえ、押すと、特定のコミットへのポインタが変わります。 –

関連する問題