27

レポに新しいブランチを作成しようとしています。

これは私がしました:

git branch events
git Checkout events

それはうまくいきました。そこで、いくつかのファイルを変更して、次のことを行いました。

git Status
git add --all
git commit -m "Commit"

それはうまくいきましたが、プッシュしようとしましたが、うまくいきませんでした:

git push -u origin events

これはエラーです:

Enumerating objects: 9, done.                                                                                                                       
Counting objects: 100% (9/9), done.                                                                                                                 
Delta compression using up to 4 threads.                                                                                                            
Compressing objects: 100% (5/5), done.                                                                                                              
Writing objects: 100% (5/5), 716 bytes | 716.00 KiB/s, done.                                                                                        
Total 5 (delta 4), reused 0 (delta 0)                                                                                                               
error: remote unpack failed: unable to create temporary object directory                                                                            
To http://git.int.censoredlink/scm/freeb/freebrep.git                                                                                       
 ! [remote rejected] events -> events (unpacker error)                                                                                              
error: failed to push some refs to 'http://stsu@git.int.censoredlink/scm/freeb/freebrep.git'

なぜうまくいかないのかわかりません。

私はレポの管理者権限を持っています。プライベート リンクを持つ内部レポであるため、レポへのリンクを検閲しました。

4

9 に答える 9

27

このエラー メッセージ:

error: remote unpack failed: unable to create temporary object directory

サーバー( Git ではない) の Git リポジトリの容量が不足しているか、同様のサーバーの問題が発生しているか、または正しくインストールされていないことを示します。つまり、次のようになります。

To: http://git.int.censoredlink/scm/freeb/freebrep.git

で HTTP トラフィックを処理するマシンにログインしgit.int.censoredlinkscm/freeb/freebrep.gitディレクトリに移動して、そこでインストールを修正する必要があります。おそらく権限の問題です。受信側の Git は、オブジェクト領域でincoming-XXXXXXXs を一意の識別子に置き換えた名前のディレクトリを作成し、そのディレクトリ内にpackサブディレクトリを作成できる必要があります。

すべての着信オブジェクトとパック ファイルは、サーバー側の Git フックが参照名の更新要求で満たされるまで、一種の検疫手順でこれらのディレクトリに配置されます。プッシュが失敗した場合、隔離ディレクトリは単純に削除されます。プッシュが成功すると、隔離されたオブジェクトおよび/またはパック ファイルが通常のオブジェクト ストレージ領域に移行 (およびシン パックが調整) されます。検疫プロセスが成功した場合でも、移行が失敗する可能性があることに注意してください。ただし、そうすると、別のエラーがクライアントに報告されます。(このエラーは、サーバー上でも修正する必要があります。)

注:またはURLhttp://ではなくプッシュするのはかなり珍しいことです。サーバー構成を調べて、作成されたさまざまなファイルの所有者と、Web サーバーが持つ権限を確認します。https://ssh://


1ハード ドライブに障害が発生した場合、Linux はドライブやそのファイル システムを読み取り専用としてマークすることがあります。または、ディスク容量がある場合でも、inode が不足する可能性があります。多数の異なる根本原因がすべて、クライアント側で観察される同じ動作につながります。サーバーをチェックしている Linux 管理者である場合は、システム ログ メッセージを探して、出力dfdf -i出力の両方を検討してください。

于 2018-07-24T16:42:12.187 に答える