我有两个问题。我有 Ubuntu 10.10 并且我已经安装了带有 gitolite 工具的 git 服务器。一切都很好。gitolite 的 gl-setup 命令创建了 2 个存储库:gitolite-admin 和 testing。
1) 问题 1
我的默认 gitolite 管理员用户名为“git”并且已经创建。
首先,我必须克隆 gitolite-admin 存储库,进行一些更改,比如说 conf/gitolite.conf 以添加一些新的存储库和一个新用户(我添加了 root 用户,我之前创建了私钥/公钥,还添加了keydir 文件夹的公钥),然后我必须添加/提交并推送更改。3
信息:我的 ~git/.ssh/authorized_keys 文件很好,从 command= 开始并且只有一个值 - 我首先创建的 git 用户的公钥。
没用:
git@vs1:~/$ git clone git@<<SERVER_IP>>:gitolite-admin.git
Initialized empty Git repository in /home/git/ga/gitolite-admin/.git/
git@<<SERVER_IP>>'s password:
fatal: 'gitolite-admin.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
工作:
touch ~/.ssh/config
内容:
host gitolite
user git
hostname <<SERVER_IP>>
identityfile ~/.ssh/git.pub
git@vs1:~/$ git clone gitolite:gitolite-admin
Initialized empty Git repository in /home/git/ga/gitolite-admin/.git/
Enter passphrase for key '/home/git/.ssh/git.pub':
Enter passphrase for key '/home/git/.ssh/git.pub':
Enter passphrase for key '/home/git/.ssh/git.pub':
git@89.35.160.243's password:
remote: Counting objects: 23, done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 23 (delta 4), reused 0 (delta 0)
Receiving objects: 100% (23/23), done.
Resolving deltas: 100% (4/4), done.
为什么我根本没有工作第一个变体?所有教程都说它应该可以正常工作。我必须使用第二个变体在 ~/.ssh/config 文件中创建该主机配置。这有点令人沮丧。repo 路径是 /home/git/repositories,ssh 是默认端口 22。
2) 问题 2
在同一台服务器上使用 root 用户,我在 /var/www/example.com/www 中创建了一个空文件夹。我运行了 git init,然后添加了一个文件 (.gitignore),运行了 git add -A 和 git commit -m "..."。
然后我为原点创建了远程路径:
git remote add origin git@<<SERVER_IP>>:myrepo.git
我跑了 git push origin master 这就是我得到的:
fatal: 'myrepo.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
我尝试了各种改变,比如将整个路径放入存储库(即使我没有看到任何地方,所以它不正确),我得到了:
Counting objects: 3, done.
Writing objects: 100% (3/3), 243 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: ENV GL_RC not set
remote: BEGIN failed--compilation aborted at hooks/update line 20.
remote: error: hook declined to update refs/heads/master
To git@<<SERVER_IP>>:/home/git/repositories/myrepo.git
! [remote rejected] master -> master (hook declined)
error: failed to push some refs to 'git@<<SERVER_IP>>:/home/git/repositories/myrepo.git'
我做错了什么?这令人沮丧,因为对于这样的基本任务,我遇到了这种不寻常的困难。我对 SVN 有丰富的经验,这些是第一次使用 GIT。
预先感谢您的帮助!