2

ローカル マシンで実行されている作業のために、ローカル マシンに Git リポジトリをセットアップしようとしています。

リモートリポジトリを数回セットアップしましたが、ローカルで実行する手順は常にエラーになるようです。

私は2つのディレクトリを持っています: /home/rico/projectそして/home/git/project_repo

すべての git リポジトリを管理する git ユーザーを作成しました (数十あると予想されます)。

/home/rico/projectユーザーとしてrico次のコマンドを実行します。

rico@verbal:~/project$ git init
Initialized empty Git repository in /home/rico/project/.git/

/home/git/project_repoユーザーとして、git次のことを行います。

git@verbal:~/project_repo$ git --bare init
Initialized empty Git repository in /home/git/project_repo

ここで、プロジェクトに戻り、ファイルを追加します。

rico@verbal:~/project$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       .project
#       .pydevproject
#       inc/
#       manage.py
#       rocksolidbox/
#       rsb/
#       templates/
rico@verbal:~/project$ git add inc media rocksolidbox/ rsb/ templates/
rico@verbal:~/project$ git commit -a -m "Initialize the project."

この時点で、通常のコミット メッセージが表示されます23 files changed, 989 insertions(+)

project_repo今、これをフォルダにプッシュしたいと思います。

rico@verbal:~/project$ git remote add origin /home/git/rocksolidbox/
rico@verbal:~/project$ git push -u /home/git/rocksolidbox/ master

ただし、次のエラーが表示されます。

Counting objects: 31, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (26/26), done.
error: insufficient permission for adding an object to repository database ./objects

fatal: failed to write object
Writing objects: 100% (31/31), 12.24 KiB, done.
Total 31 (delta 2), reused 0 (delta 0)
error: unpack failed: unpack-objects abnormal exit
To /home/git/project_repo/
 ! [remote rejected] master -> master (n/a (unpacker error))
error: failed to push some refs to '/home/git/project_repo/'

これは明らかに権限エラーです。次のようなプッシュを試みました。

rico@verbal:~/project$ git push -u git@verbal:/home/git/rocksolidbox/ master

または、ローカル IP を使用することもできます。

rico@verbal:~/project$ git push -u git@192.168.1.101:/home/git/rocksolidbox/ master

パスワードを要求されますが、正しく入力していることはわかっており、継続的にメッセージが表示されますPermission denied, please try again.

projectmyを myにプッシュできるようにしたいだけですproject_repo。このセットアップで何が間違っていますか?

4

3 に答える 3

1

派手な許可のフットワークをすべて行わないでください。あなたはジトライトが欲しいです。

于 2012-10-14T18:06:33.677 に答える
0

私も同じところで行き詰まりました。「問題が発生しました」は、これまでのところあまり有益ではありません。何十もの「それはケーキです」というタイトルのハウツーを比較した後、私は主な問題を見つけました. ほとんどの例では、同じホスト上にクライアントとサーバーがあります。それは私が欲しかったものではありません。~/.ssh/config を以下に示すように編集した後、それは魅力的に機能しました。

この例では、サーバー ホストはgitoliteと呼ばれ、サーバーに gitolite をインストールするための特別なアカウントはgitと呼ばれ、クライアントのユーザーはharrieという名前で、/home/harrie/.ssh のキーペアは "ssh- keygen-t rsa -f harrie".

~/.ssh/config

Host gitolite
        User git
        Hostname gitolite
        Port 22
        IdentityFile ~/.ssh/harrie
于 2013-01-24T11:39:12.583 に答える
0

わかりました、許可の問題を回避する方法を見つけました。基本的にこれを行います:

git@verbal:~/$ chmod -R 777 project_repo

次に、 my を使用して次のコマンドを実行できますproject

rico@verbal:~/project$ git remote add origin /home/git/project_repo/
rico@verbal:~/project$ git push -u /home/git/project_repo/ master

次に、プロジェクトを別の場所に複製するには、次のようにします。

rico@verbal:~/some_other_location$ git clone /home/git/project_repo

そして、あなたは金色です。

さて、私の質問は残っています...これはアクセス許可の問題を処理する最良の方法ですか? 私は何かに与えるという考えがあまり好きではありません777gitricoを同じグループに入れて、775代わりに実行する必要がありますか?

助言がありますか?

EDIT1:同じグループに入れて実行gitしても役に立ちませんでした。それはうまくいきますが、私はこの解決策が好きではありません。rico775777

于 2012-10-14T17:52:19.983 に答える