質問
この質問をする方法は複数あるかもしれないので、ここで問題について説明します。私はマスターに取り組んでいて、いくつかのことをコミットしていましたが、その作業を保留したいと決心しました。いくつかのコミットをバックアップしてから、くだらない作業を始める前から分岐しました。実際にはこれで問題なく動作しています。現在、メインの開発ブランチとして別のブランチを持っています。どうすれば状況を変更できるだろうかと考えているので、マスターで再び作業していますが、ジャンク作業はなく、作業は別のブランチにあると言われました。
これを質問/解決するには、次のような方法があります。master ブランチの名前を別の名前に変更してから、別の名前を master に変更するにはどうすればよいですか?マスターをバックアップし、過去にバックアップしたすべてのコミットを別のブランチに配置するにはどうすればよいですか?
すべての(素早い)回答をありがとうございます!みんな元気だよ。
解決
他のコメントに加えて、git-branch への -m (移動) スイッチが役に立つかもしれません。古いマスターの名前を別の名前に変更してから、新しいブランチの名前をマスターに変更することができます。
git branch -m master crap_work
git branch -m previous_master master
他のヒント
このような問題を防ぐために、別の開発戦略を検討する必要があると思います。私にとって最も効果的だと思われるのは、master ブランチで直接開発を行わないことです。加えている変更に関係なく、私は常に新しいコード用に新しいブランチを作成します。
git checkout -b topic/topic_name master
そこから、変更をパブリック リポジトリにプッシュできます。
git push pu topic/topic_name
または、最終的にはマスター ブランチにマージし直します。
git checkout master && git merge topic/topic_name
本当に古い時点に戻ってそれをマスターとして設定する必要がある場合は、現在のブランチの名前を別の名前に変更し、古いバージョンをチェックアウトしてマスターにすることができます。
git branch -m master junk git co -b master old_sha1_value
開始 master
, というブランチを作成します。 in-progress
, 、リセットします master
以前のコミットに。
$ git branch in-progress
$ git reset --hard HEAD^
これは比較的簡単です。
git checkout -b fake_master master # fake_master now points to the same commit as master
git branch -D master # get rid of incorrect master
git checkout -b master real_master # master now points to your actual master
git checkout master # optional -- switch on to your master branch
これにより、マスターを 1 ステップで任意のポイントに設定できます。
git checkout -B master new_point