3

master にマージした GitHub プロジェクトにブランチがありました。次に、GitHub の「delete branch」ボタンをクリックして、準備が整ったと思いました。

そうではなかったことが判明し、ブランチを復元/再アクティブ化したいと考えています。ローカル リポジトリのブランチを削除したり、後で実行したりしませんでしgit fetch/pullた。GitHub の削除ボタンをクリックしただけです。

良い次のステップがどうあるべきかを聞きたかった. 私のローカルボックスから実行することを考えていgit pushましたが、影響が何であるかはわかりませんでした.

4

3 に答える 3

4

ローカル マシンからブランチを削除しておらず、GitHub にプッシュする権限がある場合は、再度プッシュすることで Github に復元できます。

git checkout localBranchName
git push origin localBranchName

Github からフェッチするかどうかは問題ではありません。git は、明示的にそうするように指示するまで、ローカル ブランチを削除しません。

git branch -D localBranchName

実際、ローカル ブランチを削除した場合でも、以前に master とマージしていれば、ローカルに復元できます。そこからマージして分岐する前に、最後のコミットに移動する必要があります。たとえば、次のようなものです。

git checkout master
git checkout -b localBranchName
git reset --hard HEAD~1 ( 1 is the number of commits you want to undo )

2 番目のコマンドは、マスターの最後のコミットを指す新しいブランチを作成します。

他にできることは、「git reflog」を使用することです。このコマンドは、ブランチやコミット間を移動するたびに表示されるため、非常に便利です。

于 2013-11-28T19:00:01.693 に答える
0

コミットのリストに移動します。マージのあるコミットを見つけて、プル リクエスト番号 (# で始まる番号) をクリックします。これにより、マージに関する情報と「Restore branch」というラベルの付いたボタンを含むページが表示されます。それをクリックすると復元されます。

于 2019-04-16T14:05:04.413 に答える