github
にフォークしたレポがあります。私はSYNCにgit remote -v
git push forceの後にコミットが削除されました
origin [email protected]:some_repo.git (fetch)
origin [email protected]:some_repo.git (push)
upstream [email protected]:some_repo.git (fetch)
upstream [email protected]:some_repo.git (push)
コマンドようupstream
エンドポイントを作成する生産1で私のフォークレポを同期、私はこの
git fetch upstream;git checkout master;git merge upstream/master
しかし、紛争のトンで失敗したマージを実行しました。だから私は、マージを強制することを決定し、これは私の地元のmasterブランチに上流のmasterブランチから強制的思考
git push --force upstream master:master
を走りました。
問題は私が間違っていて、フォークされたレポの状態がリモートのアップストリームブランチにプッシュされているため、アップストリームのリモートブランチ上のすべてのコミットが失われたように見えます。私のフォークレポ上流のリモートブランチの実際の状態を復旧するにはどうすればよいですか?
本当に奇妙ですが、私は単純に 'git add'と' git commit ... 'に進み、9つの新しいコミットをすべて回復しました。しかし、2つのことは非常に奇妙です:1) 'git reset -hard HEAD ^'を実行すると、9つのコミットの後ろに行きます。これらの9つのコミットは、1つの単一コミットに対応しているようです。次に、いくつかのファイルを削除し、いくつかのファイルを削除し、新しい作業を追加し、コミットした後、いくつかのファイルを削除しようとしたところ、 '警告:バイナリファイルをマージできません:... - エラー:SHA1_commitを適用できませんでしたバイナリファイルは正確に私が削除したものです。アイデアはありますか? – Newben
@Newbenこれはマージコミット(あなたが最初のプルで行ったもの) – VonC
@Newben可能であれば、reflogをチェックしてブランチをアップストリーム/マスターのsha1にリセットします – VonC