2011-12-17 11 views
1

私はgitに比較的新しいので、この問題は自分自身の問題かもしれません。しかし、私の謙虚な意見ではあまりにも壊れやすいです。損害賠償を取り戻すための助言があれば感謝します。Gitブランチが台無しになった

私のブランチ設定です。マシンBで

Machine A (Mac): 
    master 
    couch 

Machine B (Windows): 
    master 

、私は残念ながら、マシンAからの両方のマスターとソファの枝を引くしようとしています、私はまだマシンB上のソファのブランチを作成していない忘れてしまいました。ここに驚いたことに

git pull origin master 
git pull origin couch 

マシンAに設定され、Gitは自動的にマシンB上のマスターにソファブランチをマージ私はマシンBの原点をやったことあります!私の期待は、もしマシンが存在しなければ、私のマシンBにソファブランチを作ることです。

マージを元に戻すにはどうすればよいですか?私はまだカウチブランチをマスターに合併する準備ができていません。私はマシンB上でそれを完全に削除し、マシンAから再びクローンするつもりです。より良い解決策があるのか​​不思議です。

+0

残念ながら、不足を行うことができました経験のビットあなた。 Gitはあなたが言ったことを正確に行いました。 @manojldsは、何が起こったのか、どうやってやったのか、それを修正するために何ができるのかを記述するのは正しいです。しかし、あなたが削除して再クローンしている場合、彼が言ったように、 'git checkout -b couch origin/couch'を実行してください。それはあなたのローカルリポジトリにソファブランチを引き下げるでしょう。 – wadesworld

答えて

4

git pull origin couch

マシンAからソファのブランチを取得し、あなたのケースでマスターして、あなたはソファがマスターにマージ見る理由があるだろう現在のブランチ、とそれをマージします。あなたがしなければならなかったすべてはシンプルgit pull、その後git checkout -b couch origin/couch

ちょうどgit reflogを行い、あなたのマスターが以前あった場所を参照してgit reset --hard [email protected]{2}

ようgit reset --hard <sha from reflog>か何かをするか、またはあなたがgit reset --hard ORIG_HEAD

+0

正解、私もgit pullを使って助言します--rebase – gvd

関連する問題