1

以下を使用して、GitHub リポジトリをローカル マシンの新しいディレクトリに複製しました。

git clone git@github.com:*****/project.git destination-dir

クローンは正常に機能しましたが、プルまたはプッシュしようとすると、次のエラーが返されます。

error: insufficient permission for adding an object to repository database .git/objects
fatal: git write-tree failed to write a tree

私は何を間違えましたか?そして、どうすればこれを修正できますか。これまでオンラインで読んだことから、独自のリポジトリ (つまり、GitHub ではない) を使用している場合、問題は些細なことですが、GitHub でこれを行う場合 (ssh アクセスがない場合) はどうすればよいでしょうか。

また、プルとプッシュに適した GitHub の同じリポジトリを指す別のディレクトリがマシンにあることを追加する必要があります。

4

1 に答える 1

0

これは GitHub 自体に関連しているようには見えません。

あなたがコメントで言ったことから、隠し.gitフォルダー (ローカルの git リポジトリ データのすべてを含む) 内の書き込みアクセス許可は、実行時に git クライアントが持っていたアクセス許可に対応していないようです。

1 つのユーザー アカウントで (または を使用してsudo) リポジトリのクローンを作成したが、別のユーザーからプル/プッシュしようとしている可能性があります。そうでない場合は、クローン作成中に何かがローカル ファイルのアクセス許可を台無しにした可能性があります。

あなたが述べたようchown -R login:group projectDir/に、プロジェクトフォルダー内のすべての権限(.gitフォルダーとそのコンテンツの権限を含む)を再帰的にリセットするため、問題が修正されました。


問題が再発するかどうかを確認するために、同じリポジトリを別のフォルダーに複製することをお勧めします。その場合、デフォルトのパーミッション ユーザーマスクや git クライアントのパーミッションに何か問題がある可能性があります。

于 2013-08-08T14:11:13.700 に答える