2013-05-06 16 views
18

私はgithubでブランチを削除したようです。私が何をしたかgithubでブランチを元に戻すにはどうすればいいですか?

以下の通りだったが:

1 - 私は私がこれをしたとき、私は1本の枝を持っていた

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

を使用

2 - 私のシステムに新しい.gitignoreを追加私のローカルシステムでは、サーバーには2つの支店がありました。

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

どうすれば元に戻すことができますか?

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

+0

あなたはどのように支店を押しましたか? – juanpastas

+0

@juanpastas:私はVS内からgitを使用していますが、git> push>複数のブランチを押して、自分のローカルリポジトリにないブランチを選択しました。 – mans

+0

* push。 http://stackoverflow.com/questions/1992364/git-recover-deleted-remote-branch – juanpastas

答えて

58

場合を知っている場合は、次のメッセージ

fd0e4da [email protected]{14}: commit: This is the commit message I want 

#チェックアウト改正のための

git reflog 

#検索を

git checkout fd0e4da 

または

git checkout [email protected]{14} 

位支店

git branch my-recovered-branch 

#プッシュブランチ

git push origin my-recovered-branch:my-recovered-branch 
+1

あなたはそのコミットメッセージを知らないのですか? – Alper

+0

あなたは何を知っていますか? – juanpastas

+0

git reflogをより簡単に検索するには:git reflog | grep 'これは私が望むコミットメッセージです。' – jfountain

3

あなたはこれを行うことができます削除された枝の最後のコミットメッセージ何git fetch remote && git checkout -b remote_branch_name

+1

ありがとうございますそれは動作しません:$ git fetch remote fatal: 'remote'はgitリポジトリではありません 致命的:リモートリポジトリからの読み込みができませんでした。 正しいアクセス権が であり、リポジトリが存在することを確認してください。 – mans

+1

'remote'はあなたのリモートレポ(この場合はGitHub)の名前です。あなたのリモートリポジトリの名前を見るために 'git remote list'を試してみてください(' origin'だと思います)。 –

8

この分岐はプル要求の際に削除された場合は、使用してUIに権利があることを元に戻すことができますを作成します"リストアブランチ"ボタン。

トリッキーな部分は実際にはマージされて閉じられたPRを見つけているだけで、URLに入れるにはURLまたはPR番号を知る必要があります。あなたはあなたの削除通知メールを見てみるか、PR番号を推測することができます。

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

+1

私に多くの悲しみを救った! :) – amohr

関連する問題