5

初期化されたレポをプッシュしようとしたときの 2 つの GitLab 構成の問題に関するドキュメントを他の人が検索するのを助けるために、この質問を作成しています。

1: GitLab フロントエンドで SSH キーを設定した後でも、GitLab サーバーの git ユーザーはパスワードを要求します。

$ git push -u origin master
git@hostname's password: 

2: gitlab-shell クライアントは、プッシュしようとしたときにリポジトリの間違った場所を参照しているようです (/home/git/repositoriesで指定されているように、すべてのリポジトリが保存される場所です/home/git/gitlab-shell/config.yml):

$ git push -v -u origin master
Pushing to git@hostname:sadmicrowave/test-project.git
fatal: 'sadmicrowave/test-project.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
4

1 に答える 1

6

SSH キーが GitLab フロントエンドに追加されたとき、/home/git/.ssh/authorized_keysファイルに適切に追加されていないことに気付きました。掘り下げた後、次のレーキを実行することを指摘するこのhttps://github.com/gitlabhq/gitlabhq/issues/3120を見つけました。

rake gitlab:shell:setup RAILS_ENV=production

注: 参照では一部RAILS_EVN=productionが省略されていますが、これは必須であるため、別のエラーが発生することはありません。cannot load such file -- rb-inotify

私のgitユーザーにはアクセス権がないためsudo、sudoを使用して別のユーザーログインから上記のコマンドを実行し、次を実行して適切な権限(git)を.sshディレクトリに戻す必要がありました。

$ sudo chgrp -R git /home/git/.ssh
$ sudo chown -R git /home/git/.ssh

その後、GitLab フロントエンドに戻り、SSH キーを削除して再作成します (以前と同じ公開キーを使用できます)。

正しいレコードが表示されるはずです。ローカル マシンから/home/git/.ssh/authorized_keys実行する場合は、これで問題ありません。git push -v -u origin master

于 2013-04-23T21:18:45.593 に答える