1

私はたくさんのリモートを備えたいくつかのgitリポジトリを持っています、いくつかのリモートブランチはユニークで、私はそれのためのローカル追跡ブランチを持っていません。

今日、私はリモートURLを変更するのを間違えました(私はremote2の代わりにremote1を使用しました)。

remote1が書き直された後git fetch --all(コミットshaの前に+を参照)

remote1にアクセスできなくなったため、非常に悪いです。URLを変更して元に戻してフェッチすることはできません。

この間違ったフェッチの後に、ローカルリポジトリからremote1ブランチを復元することは可能ですか?

4

1 に答える 1

1

Gitは、参照に発生したすべてのこと(ブランチのヒントやリモートのブランチのヒントなど)をreflogに記録します。リモートの以前のSHAを見つけるには、そこに飛び込む必要があります。

git reflogを検索するにはgit reflog、と入力し、(refs / remotes / remote / branch)の最後の言及を検索します。それはあなたにSHAを与えるでしょう。

次に、を実行して、このSHAへのリモート参照を復元できます。

git update-ref refs/remotes/remote1/branch

EDITあなたはLostLastGitCommitでぶら下がっているコミットを見つけることを試みることができます。

于 2012-09-19T11:25:30.633 に答える