質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Q&A

解決済

1回答

1407閲覧

git push できない

kosuke_ikeura

総合スコア19

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

1グッド

1クリップ

投稿2020/03/14 16:11

いつもお世話になっております。
環境
CentOS7
virtualbox vagrant
rails5.2.4.1
ruby2.5.1

【やりたいこと】
git pushしたい。

【困っていること】
git commitまではうまくできるが、git push origin [ブランチ名]とすると、エラーが出てしまう。
herokuにサービスをデプロイし、変更を再びしようとしたら、おかしくなってしまった。
原因として考えられることは、herokuにデプロイする時に最新のコードをpushすることを忘れていたため、それが原因だと思っています。

エラーメッセージ

git

1Counting objects: 100% (532/532), done. 2Compressing objects: 100% (481/481), done. 3fatal: unable to read d9287ade14ef710651d35ae529a7186593711354 4fatal: the remote end hung up unexpectedly 5error: failed to push some refs to 'https://github.com/my-repository' 6fatal: the remote end hung up unexpectedly

【試したこと】

git

1unable to read d9287ade14ef710651d35ae529a7186593711354

が解決のキーだと思い、調べたところ、こちらの記事に行き着きました。
しかし、こちらのシェルスクリプトがなぜか動作せず、、、
エラーメッセージはsudo: find.sh: command not foundでした。
(初学者なのでシェルスクリプト自体書いたことがないのでなぜ動かないのか見当がつきませんでした)

git が使えないと何もできないので、本当に困っています。。。
どなたかわかる方がいれば、ご教示いただければ大変助かります。
よろしくお願い致します。

s.k👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2020/03/14 16:43

git リポジトリがおかしくなってるかもですね。git fsck --no-dangling したらどうなりますか?
kosuke_ikeura

2020/03/14 17:36

[vagrant@localhost chells-kitchen]$ git fsck --no-dangling Checking object directories: 100% (256/256), done. missing blob a54be04d9b33b65b265862a5445b944fc5073f32 こうなっています!
kosuke_ikeura

2020/03/15 09:53

こちら、修正不可能と判断しました。 今日中にこの質問を消させていただきます。 この質問に対して、答えてくれたhoshi-takanoriさん、またこの質問を見て解決策を考えてくれたみなさん、本当にありがとうございます。
guest

回答1

0

ベストアンサー

こんにちは。
追記修正では諦めているようですが、参考までに。

リモートに push する段階ということは、リモートリポジトリが既に存在している状況だと思います。
この場合では、まずは新しい空のディレクトリを作り、git clone でリモートリポジトリを手元に持ってこれるかどうかを確認してください。
クローンに失敗するのであれば、おそらくリモートリポジトリが破損しています。そうであれば、リモートリポジトリを作り直して再度 push することで復旧できると思います。
クローンに成功するのであれば、ローカルリポジトリの破損が考えられます。この場合、新しくクローンしたディレクトリに既存のリポジトリ上のファイルをすべてコピペで上書きしコミットすることで、再び Git の履歴を継続することができます。移行した後はオリジナルのローカルリポジトリを破棄してください。

投稿2020/03/17 04:11

tamoto

総合スコア4105

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問