2017-04-04 16 views
0

私はgitには新しく、fork、origins、upstreams、およびbranchesがどのように機能するかを全体的に把握しようとしています。私の壊れたローカルgit repoブランチを修復し、私のGithubフォークをリベースしますか?

私はGithubでフォークを作成し、フォークのローカルコピーを作成し、自分の上流と元のブランチを特定し、 'newbranch'を作成しました。地元の新店舗で開発を行い、Githubのフォークにプッシュして、上流のレポにプルリクエストを作成しました。それから私はGithubのフォークに直接変更を加えました。その後、Githubから更新せずにローカルコピーを変更しました。私はGithubのフォークで 'newbranch'からマージすることでこれを解決しました。

これまでのところ、とても良いです。しかし、私は今、上流のレポから自分の支店を更新しようとしていて、問題に遭遇しました。

私の「newbranch」への変更をコミットし、フォークにそれらをプッシュした後、私は次のようでした:

git fetch upstream 
git checkout master 
git merge upstream/master 

これは紛争の数千人になりました。私はマージを取り消すためにリセットを行いましたが、ブランチには何千もの修正されたファイルが残っていて、それらをクリーンアップする方法を理解することはできません。

上流のレポの 'devel'ブランチから 'newbranch'を作成しました。なぜ私が「マスター」ブランチを乱していたのか疑問に思っているなら、それは私たち2人になります。

私のGithubフォークは私の 'devel'ブランチが上流のレポの後ろに40,000コミットであると言っています。ローカルリポジトリを整理し、ローカルのdevelとnew​​branchのブランチを上流のリポジトリから更新し、これらの変更をGithubフォークに同期したいと思います。

この混乱から抜け出すための助けに感謝します。

答えて

0

を訪問し、歴史からしたいコミットします。おそらく、「新支店」の創設とこのリベースの問題の間にかなりの時間があったからでしょう。

'newbranch'はmasterではなくdevelから作成されました。だから私は '上流/マスター'を 'newbranch'とマージしようとしたときに何千もの紛争があった。代わりに、私はおそらく、単純なgit reset --hardコマンドを使用して、私のレポを修理している可能性が、これは私がやったことです:

git clone https://github.com/MYACCOUNT/REPO.git 
git remote add upstream https://github.com/UPSTREAM/REPO.git 
git fetch upstream 
git checkout devel 
git pull upstream devel 
git push 
git checkout vhosts-package 
git rebase devel 
git push 

行うには他に何もありませんでしたので、私の変更がすでにコミットされていました。私が言ったように、ハードリセットはそれをクリアしたかもしれないが、これはうまくいったし、私は満足している。

これは誰かに助けとなることを願っています。

0

あなたはこの混乱から出てくるしたい場合がある簡単な方法 )上流から新しいブランチを作成し、前のブランチを削除し、現在のブランチの名前を変更してからフォークへのプッシュを強制するカップル。

2)git reset --hard HEAD~<some x number of commits>は、その後、早送りgit pullによって現在のブランチは、その後、cherry-pickは、あなたが私が明確に十分に理解せずに、あまりにも文字通りのGithubの指示に従っていた何をしたか表示されますREFLOG

+0

これは本当に唯一の方法ですか?フォークされたリポジトリは破損していません。上流のリポジトリにプルリクエストを送信しました。しかし、私のローカルリポジトリの 'master'ブランチが壊れているようです。ローカルリポジトリをダンプしてGithubからリロードすることは、私の 'newbranch'を含める必要があるので、私は完全に満足しています。それは働くだろうか?アップストリームから自分のローカルリポジトリを更新し、それらのアップデートをGithubフォークにプッシュするステップは何ですか? – sthames42

+0

それは唯一の方法ではないかもしれませんが、あなたが完全に混乱しているときは簡単です。 – Peddipaga

+0

応答いただきありがとうございます。私はあなたの解決策を理解するのに苦労したと思うが、もし私がいたら、それはもっと簡単だったと思う。私のローカルレポを再構築し終わった。すべて今良い。 – sthames42

関連する問題