30

やるべきでないときにgithubのブランチを削除しているようです。

私がしたことは次のとおりです。

1- システムに新しい .gitignore を追加します

2-私は使用します

 git rm -r --cached .  
 git add .  
 git commit -m ".gitignore is now working"  

これを行ったとき、ローカル システムには 1 つのブランチがありましたが、サーバーには 2 つのブランチがありました。

次に、ブランチをサーバーにプッシュしましたが、2 番目のブランチがなかったため、2 番目のブランチはサーバー上で削除されました。

どうすれば元に戻せますか?

Github をリモート サーバーとして使用しています。

4

4 に答える 4

74

削除されたブランチの最後のコミット メッセージがわかっている場合は、次のようにすることができます。

git reflog

# メッセージ検索

fd0e4da HEAD@{14}: commit: This is the commit message I want

# チェックアウト リビジョン

git checkout fd0e4da 

また

git checkout HEAD@{14}

# ブランチを作成

git branch my-recovered-branch

# ブランチをプッシュ

git push origin my-recovered-branch:my-recovered-branch
于 2013-05-06T12:41:14.363 に答える
17

プル リクエスト中にこのブランチが削除された場合は、UI で [ブランチを復元] ボタンを使用して削除を元に戻すことができます。

トリッキーな部分は、マージされてクローズされた PR を実際に見つけることです。必要なのは、URL または URL に入れる PR 番号を知ることだけです。削除した通知メールを確認するか、PR 番号を推測してみてください。

この原因を書いてreflogも、チームメイトのコミットをローカル git でプルしたことのないブランチに復元するのに役立ちませんでした。

于 2016-01-21T13:31:10.327 に答える
4

もしあなたがgit fetch remote && git checkout -b remote_branch_name

于 2013-05-06T12:20:31.223 に答える