プロジェクトを開始する前に新しいブランチに切り替えるのを忘れていました。別のブランチが私の作業をレビューできるように、変更を新しいブランチ (マスターではなく) にプッシュする必要があります。私の作業は終了しましたが、ローカル マスターに保存されています。
変更を新しいブランチに移動するにはどうすればよいですか?プッシュすると、マスター ブランチが混乱するのではなく、新しいリモート ブランチが作成されます。
プロジェクトを開始する前に新しいブランチに切り替えるのを忘れていました。別のブランチが私の作業をレビューできるように、変更を新しいブランチ (マスターではなく) にプッシュする必要があります。私の作業は終了しましたが、ローカル マスターに保存されています。
変更を新しいブランチに移動するにはどうすればよいですか?プッシュすると、マスター ブランチが混乱するのではなく、新しいリモート ブランチが作成されます。
まず、ローカル マスター ブランチですべての作業を完了したので、ヒントまたはローカル マスターを指す新しい機能ブランチを作成します。
$ git checkout -b newfeature master
次に、マスターをサーバーにそのまま残します(リモート)
$ git checkout master
$ git reset --hard origin/master
マスターと同じポイントに新しいブランチを作成します。
マスターをチェックアウトし、現在のブランチを巻き戻したいコミットにハードリセットします。
何が起こったのかわかりませんが、KurzedMetal による git コマンドを実行しても、望ましい結果が得られませんでした。
そのため、ハード リセットをリモート マスターに戻す前にバックアップを作成し、変更したファイルをエクスポートしたにもかかわらず、変更をやり直す以外に選択肢はありませんでした。その後、エクスポートとバックアップの両方に、私のローカル リポジトリとまったく同じコンテンツが含まれていたため、価値がありませんでした。したがって、私の変更は失われました。どちらも変わらないと 思っていました。
幸いなことに、プッシュの問題を始める前に、変更を隠していました。
注: 新しく作成されたファイルは、ハード リセット後に削除されませんでした。
修正する手順は次のとおりです。
TortoiseGit -> Stash save
. 他の隠し場所と区別するためにメッセージを入力してください -> OKTortoiseGit -> Show log
. 最新のマスターを選択し、右クリックして を選択しReset
、次にHard option
-> [OK ] を選択します。TortoiseGit -> Create Branch
. 名前を入力してボックスにチェックを入れますSwitch to new branch
-> OKTortoiseGit -> Stash list
. 保存したスタッシュを選択 - > OKGit Commit -> "BranchName" ...
上記が表示さTortoiseGit
れます。最初のを選択してくださいpush
です。TortoiseGit -> Push
、ローカル ブランチが選択した名前であることを確認します。そうでない場合は、5. でブランチを切り替えるのを忘れており、6. から続行する必要があります。これが他の人に役立つことを願っています。覚えておくべきこと:新しい機能/マイナーでない変更を開始するときは、新しいブランチに切り替えてください