私は最近git repoを台無しにして、何か救済策があるかどうか調べたいと思います。gitブランチを作成し、元の状態に戻す
私のセットアップはこれです:
Central repo on github.
Personal repo on github (which is a fork of Central)
+Central is setup as remote (upstream/master)
+Master branch (origin/master)
+Feature branch (origin/feature)
私のワークフローは、このようなものだった:私はいつも私のマスターブランチに中央の手付かずの状態だった
Need to fix something in Central:
1. checkout Master
2. Make changes
3. Pull from upstream/master and merge
3. Commit, push to upstream/master
Need to work on a New Feature:
1. Checkout/Create Feature branch
2. Work work work
3. Pull from upstream/master and merge
4. Commit, push to upstream/master
この方法です。
今私が行ったことは、代わりにマスターブランチで作業を開始したことです。そこで私はマスターに変更を加え、もはやセントラルのコピーを得るためにそれから分岐することはできません。 Centralにいくつかの修正を加える必要があるときは、Centralを別のディレクトリにクローンしてそこから作業する必要があります。
私の質問:私のマスターをセントラルの同じコピーにする方法はありますか?マスターに加えたすべての変更を別のブランチに移動していますか?
私はそれが混乱していることを知っており、何か助けていただければ幸いです。何かが不明であるかどうかを明確にします。
あなたの解決策をフォローアップしてくれてありがとう。私はちょうどあなたの状況を整理しようとしていた - あなたがそれを理解してうれしい。 –
私はあなたの4番目のコマンドの代わりに、 "git push old_master origin old_master"と思っています。 "git push origin old_master"が必要ですか?それは私のために働くように思えたので、それが正しいと思っています。それ以外の場合、エラーメッセージが表示されます: "fatal: 'old_master'がgitリポジトリではないようです。 –
" git push origin:master "できませんでした。この投稿はそれを扱う方法を説明しています。 http://matthew-brett.github.com/pydagogue/gh_delete_master.htmlキーは、masterがgithubのデフォルトブランチでないことを確認します。フォークされたレポに取り組んでいるなら、良い方針です。 – pduey