标签: gitosis

即使我有本地更改,git push也会说所有内容都是最新的

我有一个远程gitosis服务器和一个本地git存储库,每次我对我的代码进行重大更改,我都会将更改推送到该服务器.

但是今天我发现即使我有一些本地更改并提交到本地存储库,当运行git push origin master时它会说"Everything up-date",但是当我使用git clone来检出远程服务器上的文件时,它不包含最新的更改.我只有一个名为master的分支和一个名为origin的远程服务器.

PS:这是git在运行ls-remote时显示的内容,我不确定它是否有帮助

$ git ls-remote origin
df80d0c64b8e2c160d3d9b106b30aee9540b6ece        HEAD
df80d0c64b8e2c160d3d9b106b30aee9540b6ece        refs/heads/master
$ git ls-remote .
49c2cb46b9e798247898afdb079e76e40c9f77ea        HEAD
df80d0c64b8e2c160d3d9b106b30aee9540b6ece        refs/heads/master
df80d0c64b8e2c160d3d9b106b30aee9540b6ece        refs/remotes/origin/master
3a04c3ea9b81252b0626b760f0a7766b81652c0c        refs/tags/stage3
Run Code Online (Sandbox Code Playgroud)

git gitosis

216
推荐指数
8
解决办法
20万
查看次数

gitosis与gitolite?

我正在寻找安装一个git服务器来与我的团队共享项目.我不想在服务器上为每个需要git访问权限的开发人员创建具有SSH访问权限的用户帐户.似乎有两个并发的解决方案可以解决这个问题:gitosis和gitolite.

我找不到两种解决方案之间的任何比较.它们之间的主要区别是什么?还有其他类似的解决方案?

git gitosis gitolite

138
推荐指数
4
解决办法
8万
查看次数

Gitosis替代?

有更容易使用的gitosis的替代品吗?

我目前在我的实验室的Ubuntu服务器上运行gitosis.我们会定期添加新用户和回购.我发现gitosis.conf语法不直观,如果我犯了一个小错误,整个gitosis系统都会失败,例如在SO上看到这个问题. 当gitosis失败时,它也会杀死对包含gitosis.conf... 的git存储库的访问权限......必须有更好的方法.

我考虑过私人GitHub帐户,但还有什么我可以在本地托管吗?

git version-control gitosis

46
推荐指数
5
解决办法
4万
查看次数

git警告:远程HEAD是指不存在的ref,无法结帐

我正在尝试根据这里的说明设置gitosis .

它从我的远程机器工作正常,所以服务器似乎设置正常,但我也希望能够从我的gitosis服务器机器上从不同的用户帐户(不是在gitosis设置中创建的git用户)进行开发.

我已经复制了密钥并修改了gitosis.conf,以便其他用户帐户可以访问,但是当我尝试克隆它似乎工作时,除了最后它说:

git Warning: remote HEAD refers to nonexistent ref, unable to checkout
Run Code Online (Sandbox Code Playgroud)

我最终得到一个空的目录,除了.git

我已经谷歌这一点,但没有真正了解问题是什么

git gitosis

39
推荐指数
3
解决办法
5万
查看次数

是否可以在2台机器上使用相同的ssh私钥/公钥对来访问git存储库?

我最近设置了一个内部git存储库服务器,并将其作为管理工具安装并运行gitosis.只读访问可通过git://协议获得,写访问可通过gitosis使用ssh公钥获得.

我有一个开发人员,他的桌面工作站上生成的公钥被授予访问他的项目的权限.

他现在想要使用相同的ssh密钥对从他的笔记本电脑访问该存储库.他被复制了.ssh文件夹完全包含在他的笔记本电脑中,并试图从存储库中克隆而没有成功.

这是一个有效的尝试吗?

是否需要为每台机器生成一个ssh密钥对?这看起来很奇怪,因为它实际上需要将每台机器用户名添加到gitosis配置中.

任何帮助,将不胜感激.

git gitosis ssh-keys

28
推荐指数
2
解决办法
3万
查看次数

即使给出了公钥,Gitosis也需要密码

尝试在我的Archlinux上配置gitosis时遇到了一些问题

http://wiki.archlinux.org/index.php/Setting_Up_Git_ACL_Using_gitosis

我参考了这篇wiki文章并成功安装了gitosis.

$ sudo pacman -U gitosis-git-20090525-1-i686.pkg.tar.gz
$ sudo -H -u gitosis gitosis-init </tmp/id_rsa.pub

并修改了/srv/gitosis/.ssh/authorized_keys以包含我本地用户的id_rsa.pub.

但是当我git clone作为本地用户运行时,

$ git clone gitosis @ host:gitosis-admin.git

它说


/home/wyx/gitosis-admin/.git/gitosis@10.132.140.73密码中初始化的空Git存储库:*****
致命:'gitosis-admin.git'似乎不是一个
致命的git存储库:远程端意外挂断了

所以git clone操作失败了.我想知道为什么它试图在我的本地用户的目录(/ home/wyx)中初始化一个空的git存储库?既然我已经在.ssh/authorized_keys中添加了本地用户的id_rsa.pub,为什么还要求输入密码呢?

git installation gitosis

20
推荐指数
3
解决办法
2万
查看次数

Git服务器挫折(Gitosis,Gitolite等)

请原谅令人沮丧的事情,因为我试图多次正确设置这个设置无济于事(可能并且很可能是由于我的无知,但也可能是由于缺乏详尽而简洁的文档).

我正在尝试设置一个git服务器,以便我可以在一小组开发人员之间共享代码.每个开发人员可以从多个客户端PC连接.我过去来自MS,所以我在开发工具集方面有点被宠坏了,但如果我能得到类似于TFS的东西,它会很棒.

当试图设置gitosis(我明白这是git社区每个https://serverfault.com/questions/225495/ubuntu-server-gitosis-user-naming-convention)或gitolite,这似乎是一旦我设置它,我必须非常小心,因为似乎一切都在牙签上保持平衡.

我最近设置git服务器的尝试包括将我的公钥(benny.pub)从我的笔记本电脑移动到服务器,使用该公钥设置所有内容并下拉配置以设置repo和权限.然后我意识到我想在另一台PC上开发,所以我创建了一个新密钥(benny@desktop.pub)并将benny.pub重命名为benny@laptop.pub,这显然搞砸了.这就是我知道通过改名来愚蠢的地方.

在冗长的描述之后我的问题是:我如何设置一个坚固的自托管git服务器,能够让多个开发人员从多台机器登录,同时保持安全性等?必须有一种经过验证的技术(噱头描述可能4-5种不同的方式......也令人沮丧)这样做,因为我确信我不是唯一一个试图做同样事情的人.也许git不适合我的团队?

任何帮助是极大的赞赏!

linux git gitosis gitolite

17
推荐指数
1
解决办法
1万
查看次数

如何从推送gitosis.conf文件中恢复时出现因换行而导致的解析错误?

我已成功为Android镜像设置gitosis(包含多个git存储库).在gitosis.conf中的writable =之后添加一个新的.git路径时,我设法插入了几个换行符.当我收到以下解析错误时保存,提交并推送到服务器:

回溯(最近一次调用最后一次):文件"/ usr/bin/gitosis-run-hook",第8行,在load_entry_point('gitosis == 0.2','console_scripts','gitosis-run-hook')()

文件"/usr/lib/python2.5/site-packages/gitosis-0.2-py2.5.egg/gitosis/app.py",第24行,在运行中返回app.main()

在主self.handle_args(解析器,cfg,选项,args)中输入文件"/usr/lib/python2.5/site-packages/gitosis-0.2-py2.5.egg/gitosis/app.py",第38行

文件"/usr/lib/python2.5/site-packages/gitosis-0.2-py2.5.egg/gitosis/run_hook.py",第75行,在handle_args post_update中(cfg,git_dir)

在post_update cfg.read中输入文件"/usr/lib/python2.5/site-packages/gitosis-0.2-py2.5.egg/gitosis/run_hook.py",第33行(os.path.join(export,' ..','gitosis.conf'))

文件"/usr/lib/python2.5/ConfigParser.py",第267行,读取self._read(fp,filename)

文件"/usr/lib/python2.5/ConfigParser.py",第490行,在_read引发e

ConfigParser.ParsingError:文件包含解析错误:./ gitosis-export /../ gitosis.conf

(......)

我删除了换行符并且提交了提交

git commit -m"fix linebreak"--amend

但是git push仍会产生完全相同的错误.它让我相信gitosis阻止我进一步推动.

我该如何从中恢复?

git gitosis

16
推荐指数
1
解决办法
4516
查看次数

为3人团队设置Git?

该帖旨在总结所有信息,以便在竞赛中为3人建立一个封闭的存储库.请随便在列表中添加一个我没有注意到的问题.请将每个问题的每个答案添加为单独的答案.

  1. 情况A:草稿和文件可以在3人之间交换.编写器只能将文件推送到存储库.
  2. 情况B:与上面类似,但所有队友都可以将文件推送到存储库.

关于情况A的一般问题

  • 如何为人员A,B和C设置远程分支,以便团队成员可以查看其团队成员想要共享的文件?
  • 如何将人A设置为独裁者,谁只能将更改推送到神圣的存储库?

关于情况A的初步问题

  1. 如何设置Git存储库,人们A,B和C可以在哪里拉?我假设Git已经成功安装到存储库中
  2. 你怎么能让作家只推?

关于两种情况的高级问题

git version-control gitosis

15
推荐指数
1
解决办法
4136
查看次数

与本地文件系统上的存储库进行git-merge

对于某些情况:我刚刚升级了Ubuntu,这破坏了我现有的gitosis安装(见这里:bug#368895),并刚从包中重新安装了gitosis.我现在想要从旧的gitosis安装中迁移我的整个配置和存储库集(它仍然存在并且可以从中拉出但是否则会被破坏).

我现在在本地有两个gitosis-admin目录,每个gitosis安装一个.一个人有完整的历史,另一个人是空的.我想要了解这段历史.以下是发生的事情:

me@server:~/gitosis-admin-new$ git merge ../gitosis-admin-old/
fatal: '../gitosis-admin-old/' does not point to a commit
Run Code Online (Sandbox Code Playgroud)

...那里是在git仓库~/gitosis-admin-old/~/gitosis-admin-new/

我可能还需要为其他存储库执行此操作,这些存储库具有更长和更重要的历史记录,因此复制和提交不是一个选项.

我究竟做错了什么?我已经尝试过指向.git/HEAD,据我所知是提交,但这不起作用.有人可以解释如何做到这一点?谢谢!

git gitosis git-merge

13
推荐指数
2
解决办法
2万
查看次数