gitosis + git错误:致命:'/home/git/repositories/idea-generator.git'似乎不是一个git存储库 [英] gitosis + git error: fatal: '/home/git/repositories/idea-generator.git' does not appear to be a git repository

查看:317
本文介绍了gitosis + git错误:致命:'/home/git/repositories/idea-generator.git'似乎不是一个git存储库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图按照关于如何使用 gitosis 来管理 git 项目的说明。除了一个小问题,我已经成功地安装了 gitosis



当我尝试创建我的第一个git项目时通过gitosis配置项目)。当我推送到远程git存储库时,出现以下错误:

 
致命:'/ home / git / repositories / idea-generator。 git'似乎不是git存储库
fatal:远程端意外挂起

这些是命令序列我正在运行安装gitosis并从头到尾推送我的第一个项目。我正在针对同一台服务器运行这些命令。现在我的开发机器是中央git回购,但在某些时候,它将成为一个独立的服务器,专门用于安装git和一些其他项目。

操作系统:Ubuntu 10.04
git:1.7.0.4
python:2.6.5

 
cd / home / rdn / projects
git clone git://eagain.net/gitosis.git
cd gitosis
sudo python setup.py install
sudo adduser --system --shell / bin / sh --gecos'git版本控制'--group --disabled -password --home / home / git git

sudo -H -u git gitosis-init< /home/rdn/.ssh/id_rsa.pub
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
cd ..

#此时我无法使用指示的'git clone git @ Frankenstein:gitosis-admin.git',因为它抱怨说致命的:'gitosis-admin.git'似乎不是git存储库
git clone git @ Frankenstein:/home/git/repositories/gitosis-admin.git
cd gitosis-admin
gedit gitosis.conf
#将以下项添加到../gitosis- admin / gitosis.conf
#[gitosis]
#loglevel = DEBUG
#repositories = / home / git / repositories

#[group gitosis-admin]
#writable = gitosis-admin
#members = rdn @ Frankenstein

#[group idea-generator]
#writable = idea-generator
#members = rdn @ Frankenstein

git commit -a -m创建第一个存储库
git push
cd ..

rails new idea- generator
cd idea-generator
git init
git remote add main_project git @ Frankenstein:/ home / git / repositories / idea-generator.git
git add。
git commit -a -m初始项目创建
git push main_project master:refs / heads / master



更新



我能够修复这个的唯一方法是登录到远程服务器并创建远程存储库,如下所示:



作为gitosis存储库位置中的git用户创建远程裸露项目:

 
git:〜cd / home / git / repositories
git:〜mkdir idea-generator.git
git:〜cd myapp.git
git:〜git --bare init

作为提交者用户(在我的情况下是rdn),提交并推送新创建的项目

 
rdn:〜cd / home / rdn / projects / idea-generator
rdn:〜git init
rdn:〜git远程添加main_project git @ Frankenstein:/home/git/repositories/idea-generator.git
rdn:〜git add。
rdn:〜git commit -a -m初始项目创建
rdn:〜git push main_project master:refs / heads / master

我读过的所有教程和文档都离开了这一重要步骤。也许在其他发行版中,这一步并非必要,但在我的情况下,我发现它是必要的。希望有人能够回答这个最初的问题,并确定哪些步骤需要更改才能使原始教程在Ubuntu 10.04下运行。如果您能够使用完整的路径(/ home / git)获取/推送回购协议/repositories/idea-generator.git),那么你完全绕过gitosis,包括可能施加的任何访问检查。你可能不会使用gitosis,因为它在做你的所有好事。



这也是推送没有为你自动创建回购的原因 - gitosis被绕过了,所以没有自动创建。

正确使用gitosis意味着你的URL看起来像git @ Frankenstein:gitosis-admin.git(因为你说过你设法克隆成功)。


I have tried to follow the instructions on how to use gitosis to manage my git projects. Other than one slight issue, I have installed gitosis successfully.

The problem arises when I try to create my first git project (after having set-up and configured the project through gitosis). I get the following error when I push to the remote git repository:

fatal: '/home/git/repositories/idea-generator.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

These is the sequence of commands that I am running to install gitosis and push my first project from beginning-to-end. I am running these commands against the same server. For now my development machine is the central git repo but at some point will become a stand-alone server dedicated to housing git and some other projects.

OS: Ubuntu 10.04 git: 1.7.0.4 python: 2.6.5

cd /home/rdn/projects
git clone git://eagain.net/gitosis.git
cd gitosis
sudo python setup.py install
sudo adduser --system --shell /bin/sh --gecos 'git version control' --group --disabled-password --home /home/git git

sudo -H -u git gitosis-init < /home/rdn/.ssh/id_rsa.pub
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
cd ..

# At this point I can't use the instructed 'git clone git@Frankenstein:gitosis-admin.git' as it complains that "fatal: 'gitosis-admin.git' does not appear to be a git repository"
git clone git@Frankenstein:/home/git/repositories/gitosis-admin.git
cd gitosis-admin
gedit gitosis.conf
# added following entries to ../gitosis-admin/gitosis.conf
# [gitosis]
# loglevel = DEBUG
# repositories = /home/git/repositories
#
# [group gitosis-admin]
# writable = gitosis-admin
# members = rdn@Frankenstein
#
# [group idea-generator]
# writable = idea-generator
# members = rdn@Frankenstein

git commit -a -m "created first repository"
git push
cd ..

rails new idea-generator
cd idea-generator
git init
git remote add main_project git@Frankenstein:/home/git/repositories/idea-generator.git
git add .
git commit -a -m "initial project creation"
git push main_project master:refs/heads/master

Update

The only way I was able to 'fix' this was to log into the remote server and create the remote repository as follows:

As the git user in the gitosis repository location create a remote bare project:

git:~ cd /home/git/repositories
git:~ mkdir idea-generator.git
git:~ cd myapp.git
git:~ git --bare init

As the commiter user (in my case rdn), commit and push the newly-created project.

rdn:~ cd /home/rdn/projects/idea-generator
rdn:~ git init
rdn:~ git remote add main_project git@Frankenstein:/home/git/repositories/idea-generator.git
rdn:~ git add .
rdn:~ git commit -a -m "initial project creation"
rdn:~ git push main_project master:refs/heads/master

All tutorials and documentation that I have read left this important step out. Perhaps on other distributions this step is not necessary, but in my case I found it necessary. Hopefully someone will be able to answer this initial question and determine what steps need to change in order to make the original tutorials work under Ubuntu 10.04.

解决方案

If you're able to fetch/push repos with full paths (/home/git/repositories/idea-generator.git), then you're bypassing gitosis completely, including any access checks it may impose. You may as well not be using gitosis, for all the good it is doing you.

That is also the reason that a push did not auto-create the repo for you -- gitosis was bypassed, so no auto-create.

Proper use of gitosis means your URLs will look like git@Frankenstein:gitosis-admin.git (since you said you managed to clone this successfully).

这篇关于gitosis + git错误:致命:'/home/git/repositories/idea-generator.git'似乎不是一个git存储库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆