我和gitolite一起来了.我在远程服务器上安装了gitolite.
http://dev.remoteserver.com
Run Code Online (Sandbox Code Playgroud)
所以我可以git-cloning gitolite-admin.git.
git clone ssh://gitolite@dev.remoteserver.com/gitolite-admin.git
Run Code Online (Sandbox Code Playgroud)
我想用gitolite添加用户和repo.以下是普通的添加用户进程.
在本地存储库中,存在conf/keydir目录.
open conf/gitolite.conf
Run Code Online (Sandbox Code Playgroud)
在文字下方添加.
repo aproject
RW+ = testid
Run Code Online (Sandbox Code Playgroud)
并且,在local-mac中,
ssh-keygen -t rsa.
Run Code Online (Sandbox Code Playgroud)
在keydir/testid.pub中添加了公钥,
然后git add/git commit/git push完成了.
好吧,然后我试图从远程服务器克隆新的git repo.
git clone ssh://testid@dev.remoteserver.com/aproject.git
Run Code Online (Sandbox Code Playgroud)
但是,它会像这样犯错误......
mac$ git clone ssh://testid@dev.remoteserver.com/aproject.git
Cloning into 'aproject'...
mac@dev.remoteserver.com's password:
Permission denied, please try again.
mac@dev.remoteserver.com's password:
Permission denied, please try again.
mac@dev.remoteserver.com's password:
Permission denied (publickey,gssapi-with-mic,password).
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
我认为git克隆不应该问密码.和正确的密码也失败git克隆.
我的远程服务器是CentOS.
和评论欢迎.
我首先安装了gitolite,并添加了一些用户和一些回购,一切都很好.然后我添加了gitweb,并且可以通过apache实例看到repos(只是gitweb,没有gitdaemon).现在出现的问题是我无法再添加新的存储库了.每当我推动更改gitolite-admin conf文件时,日志中总会显示2行
remote: FATAL: git config 'gitweb.description' not allowed
remote: check GIT_CONFIG_KEYS in the rc file
Run Code Online (Sandbox Code Playgroud)
尽管有这两条令人讨厌的线,但每次都会改变conf文件.我试图阻止apache实例,但仍然没有运气:-(
我用谷歌搜索,找不到任何类似的匹配来讨论这个问题.有人可以帮忙吗?非常感谢!
我想知道我们正在使用的 Gitolite 版本..我尝试使用 SitaRam Sir 文档提供的方法。请注意,我没有对 gitolite/git 服务器的任何 shell 访问权限?
我尝试按照本手册安装git + gitolite - 使用服务器的root instalation.我只是不明白新的gitolite用户是否必须拥有他们的用户帐户?.当我将tester.pub密钥添加到keydir文件夹并配置访问某些存储库时,git总是要求输入密码并且不允许我克隆任何东西
git clone tester@myserver.com:testrepo
Initialized empty Git repository in /home/testuser/git/testrepo/.git/
testuser@myserver.com's password:
Permission denied (publickey,password).
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
我不相信创建系统帐户(adduser testuser)是必要的,因为即使没有root访问服务器,gitolite也应该是可安装和可配置的.
那么有人可以告诉我我误解了什么吗?
非常感谢你.
编辑:
嗯...我使用客户端安装脚本重新安装gitolite .现在加入,推动新的酒吧钥匙成功地改变了的〜/ .ssh/authorized_keys中为我的Git在服务器上的用户.所以它似乎比我的第一次尝试更好.但我仍然无法从其他地方克隆任何产品.当我尝试使用msysgit为我的Windows PC添加pub键+编辑配置时,请尝试
$ git clone git@server.com:project.git
cloning into project...
Fatal ERROR: unable to authenticate
Fatal: the remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
另一方面,当尝试另一个Linux时,它仍然要求输入密码.
# git clone git@server.com:project.git
Cloning into project...
git@server.com's password:
Run Code Online (Sandbox Code Playgroud)
即使我为git用户提供密码: …
我正在运行一个gitolite系统,我目前克隆如下:
git clone gitolite@debainserver.local:my-project
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我想克隆到一个需要(没有解决方法,尝试过所有)git://地址的应用程序.那我该怎么设置呢
为了更清楚地了解一下github的地址.
git clone git://github.com/git/git.git
Run Code Online (Sandbox Code Playgroud)
这是如何工作的,我该如何设置它?我希望能够去
git clone git://debainserver.local:my-project
Run Code Online (Sandbox Code Playgroud)
让它克隆.
我试图寻找解决方案.但是,我不能.
我安装了gitolite.它运作良好.
我可以在本地机器上进行git克隆,也可以更改gitolite-admin repo.
但我想用gitolite挂钩.遵循本手册
http://sitaramc.github.com/gitolite/hooks.html
自定义钩子
如果您愿意,可以提供自己的自定义钩子脚本.像往常一样安装gitolite,然后:
转到服务器上的〜/ .gitolite/hooks/common并将你的新钩子放在那里再次运行"gl-setup"你可以使用这个程序来安装新的钩子以及更新你之前安装的钩子.
所以我试图挂钩一些基本的shell脚本.
我把bash shell脚本打开了
~/.gitolite/hooks/common
Run Code Online (Sandbox Code Playgroud)
并命名它
update
Run Code Online (Sandbox Code Playgroud)
更新脚本文件的所有者是git,并且是可删除的.shell脚本是这样的..
#!/bin/bash
touch /tmp/$GL_REPO
Run Code Online (Sandbox Code Playgroud)
我执行
gl-setup mypubkey.pub
Run Code Online (Sandbox Code Playgroud)
然后,在我的本地git文件夹中,我修改了一些文件,commit并修改了pushgitolite服务器.推进效果很好.每个文件上传到gitolite的回购.但是,挂钩似乎没有发生.没啥事儿.
在服务器的tmp目录中,没有创建文件.
我忘记了什么吗?
任何评论plz ...
诸如Github,Bitbucket,DropBox之类的东西 - 管理内容托管,例如门票和repo -hosting(DB不是门票,但可以用来存储回购).我想要一个解决方案,我自己管理Git -repositories和门票等内容托管.
试验0:尝试调整Git,太费时间了
我遵循了这里的说明 , 但有些困难,然后我跟着很多其他教程遇到了更多的困难.我克隆了
"git clone --bare xxx xxx.git; cd xxx; git update-server-info"工作,但无法推动事情"--shared",厌倦了这种手动黑客.材料太多,无关材料太多,材料过时.
我再说一遍,我想自己做内容托管.那我怎么能主持我的git回购?
也许相关
我有一个特定的用户(备份)定期克隆/获取我们的gitolite系统中的所有存储库.我必须手动添加
R = backup
Run Code Online (Sandbox Code Playgroud)
我拥有的每一个回购.是否有一种更简单的方法可以让这个用户访问每一个回购?
我刚刚在 debian 上设置了 git + Gitolite 服务器,使用 puttygen 在我的工作站(Windows)上生成了密钥对,并在服务器上使用注册了第一个 pub 密钥
gitosis setup -pk firstuser.pub
Run Code Online (Sandbox Code Playgroud)
然后我使用 TortoiseGit 克隆 gitolite-admin 存储库,使用 url:git@git.myserv.com:gitolite-admin 和 tel Tortoise 使用firstuser.ppk 作为私钥。到目前为止它运行良好。
然后我想测试添加用户并在我的工作站上创建新的存储库。
我在conf文件中添加了一个部分:
repo testcreation
RW+ = seconduser
Run Code Online (Sandbox Code Playgroud)
我在工作站上为第二个用户生成第二个 ssh 密钥对。只需将 secondaryuser.pub 放入 keydir/commit 中并推送新配置即可。
配置seam就可以了,我的新用户pub key添加到服务器端git用户的~/.ssh/authorized_keys中。
我使用 Tortoise 在我的工作站上设置了一个新的存储库,添加了一个新的遥控器:
name : origin
url : git@git.myserv.com:testcreation
Putty Key : seconduser.ppk
Run Code Online (Sandbox Code Playgroud)
然后推送创建repo
TortoiseGit Log :
git.exe push --all --progress "origin"
FATAL: W any testcreation firstuser DENIED by fallthru
(or you mis-spelled the reponame)
fatal: Could not …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行一个脚本,它使用我的$HOME变量进行设置(顺便说一句,它是gitolite).
但是,它失败了,因为我在一个主目录路径中有空格的系统上.
我想在一个点上攻击gitolite bash脚本,所以$HOME变成了可以使用的东西 - 它在脚本中被多次使用,并且在某些地方被连接起来形成子文件夹,所以将它包装成""赢了不行.
所以要清理它我需要说:
$HOME=(magic here)$HOME
(这当然是假设后来的perl脚本也不$HOME直接读取变量并且还需要修复...)
我是 Git 的新手,我正在尝试理解这个概念。也许有人可以帮我解决一些理论问题?
所以远程服务器上有一个 Git,我的本地计算机上有一个克隆的 git。
将 git 克隆到具有读取权限的本地计算机(具有“R”权限的 gitolite)后,我可以对远程服务器上的 git 造成任何损坏吗?
如果我做了一个 ' git reset --hard'(我知道通常会有强烈的反对意见),这是否只会重置我本地计算机或远程服务器上的更改?
与我合作R或RW+获得授权有区别吗?
gitolite ×11
git ×9
ssh ×2
bash ×1
configure ×1
hook ×1
macos ×1
permissions ×1
repository ×1
reset ×1
settings ×1
tortoisegit ×1