私は git に少し慣れていませんが、彼らのサイトから Git の本を読みました。そこで、サーバーにGitLabがインストールされたものを使い始めました。
以前は SVN を扱っていたので、最初のコミットは SVN のエクスポートでした。私の友人も同じプロジェクトに取り組んでいます (彼の名前はルーカスです)。
origin/masterを完全に安定させてから /dev で開発するためにブランチorigin/devを作成しました。作業中のブランチfeature258も作成しました。私の素晴らしい機能をマージする前に、 origin/devをプルして変更を取得しようとしたとき、次のようになりました。
$ git pull origin dev
fatal: object 18c29b4c26d7b0d34719d10ada6901c6024f91e6 is corrupted
fatal: The remote end hung up unexpectedly
18c29b4オブジェクトは、.gitignore ファイルを少し変更するだけのピンク色のコミット (スクリーンショットを参照) のようです。
私はgit fsck --fullを実行しましたが、私が持っている手がかりは私を助けませんでした:
$ git fsck --full
dangling blob 0c87d2eb401651ec3045eb0248d54ed546206dbe
dangling blob 1cd17aadc009ba9d39d1137533d65107ca54da95
ブロブ 0c と 1c は、feature_258 の最後のコミットで変更した 1 つのファイルにすぎません。
Google で 3 時間以上検索して、Linus Torvalds メソッドやその他の StackOverflow の投稿を見つけましたが、適切な解決策は見つかりませんでした。
それが私を救うことができれば、BADコミットの前にブランチにリベースして作業をやり直すことができるかもしれません(確かに別のディレクトリに保存しました)