2024年10月自建git服务器(如何在mac系统下搭建git服务器)

 更新时间:2024-10-12

  ⑴自建git服务器(如何在mac系统下搭建git服务器

  ⑵如何在mac系统下搭建git服务器

  ⑶第一步,下载gitblit

  ⑷登陆后创建一个用户,然后在该用户下创建项目目录,这里叫leanrgit

  ⑸然后用本地的一个git工作目录与之关联,就可以mit,push这些操作了:

  ⑹如何在windows上创建一个git服务器

  ⑺安装msysgit安装步骤此处略去。END安装CopSSH安装步骤此处略去。END修改配置修改CopSSH配置文件C:ProgramFilesICWetcsshd_config,确保如下行为非注释行,且设置为“no”:END生成用户帐号在服务器上生成Windows用户,取消用户下次登录时须更改密码,设置密码永不过期:将该用户隶属于GitUser组(如尚未生成改组,则先生成改组:END激活用户在Windows启动程序组中,运行如下程序(C:ProgramFilesICWbincopsshcp.exe:进入COPSSHControlPanel应用对话框,正常情况下服务应该为正在运行(图标为绿色,如为红色,则可尝试点选该按钮,启动该服务:选择Users页面:点选Add按钮,出现如下导航对话框:选择Forward按钮,出现如下页面,选择欲激活的用户对应的域名及用户名:选择Forward按钮,进入如下页面,选择LinuxshellandSftp,所有选项选中:选择Forward按钮,进入确认页面,选择Apply:回到如下页面,选择Apply后,关闭。END公钥文件上传从用户处取得对应帐户的公钥文件authorized_keys,复制到C:ProgramFilesICWhome

  ⑻icky.ssh目录下(

  ⑼icky是对应的用户名);Windows启动程序组中运行StartaUnixBASHShell(或Windows运行中运行命令:“C:ProgramFilesICWbinbash.exe“--login-i:运行如下unix命令行,如运行未出错,则完毕。END生成Git库容器目录在服务器硬盘上生成一个目录,用来容纳Git库,比如生成E:GITTestRepo目录;鼠标右键点击该目录,选择共享和安全…;在弹出的该目录属性对话框的安全页中加入用户对应的组GitUser;确认该用户组权限设置了允许修改、读取和运行、列入文件夹目录、读取、写入,选择确定后完毕。END确认防火墙开放了端口确认服务器的防火墙没有禁止端口的TCP/IP通信。END修改用户登录运行脚本修改C:ProgramFilesICWhome

  ⑽icky.bashrc文件(

  ⑾icky是对应的用户名),在文件最后加入如下行:

  ⑿怎么在ubuntu创建git服务器

  ⒀安装OpenSSH并配置SSH无密码登陆通过命令sudoapt-getinstallopenssh-server,安装SSH服务。通过命令ps–e|grepssh,查看ssh服务是否启动。通过以上命令,我们为Ubantu系统安装SSH服务,并配置SSH无密码登陆,首先我们修改主机和ip配置文件:gedit/ect/hosts、创建用户git,用来管理运行git服务。、配置无密码SSH登陆在gitClient_上,我们使用命令:ssh-keygen–trsa生成密钥,如下图完成之后,在.ssh目录下,我们可以看到id_rsa和id_rsa.pub文件,id_rsa.pub为公钥,我们通过命令scp/home/git/.ssh/id_rsa.pubgitServer:/home/git将gitClient_上生成的公钥拷贝到gitServer上。在gitServer上我们首先查看/home/git/.ssh目录下是否存在authorized_kesys文件,如果没有,可以通过touchauthorized_keys创建此文件。Authorized_keys创建完成后,将gitClient_上拷贝过来的公钥id_rsa.pub的内容追加到authroized_keys中,注意是追加到此文件中,可以使用命令cat/home/git/id_rsa.pub》》/home/git/.ssh/authorized_keys.以上内容完成后,我们在gitClient_中,可以使用命令sshgitServer即可完成无密码登陆。、安装Git通过命令sudoapt-getinstallgit-core,安装git、建立git仓库的存储目录。、初始化服务器端仓库使用命令git–bareinit/home/git/myRep.git,初始化化仓库、在gitClient_上,通过gitclone命令进行克隆远程仓库,并在各自的电脑上运行开发。GitclonegitgitServer:/home/git/myRep.git

  ⒁如何在mac下远程搭建git服务器

  ⒂第一步,下载gitblit

  ⒃登陆后创建一个用户,然后在该用户下创建项目目录,这里叫leanrgit

  ⒄然后用本地的一个git工作目录与之关联,就可以mit,push这些操作了:

  ⒅如何搭建git服务器windows

  ⒆GitLab是由Ruby语言开发的基于Linux的Git服务器,是我见过的最强大的Git服务器。发现它之后,立即决定将Git服务器换成GitLab。但安装好GitLab之后面临一个问题,如何将服务器上的git项目直接导入到GitLab,之前的Git服务器是由是git+apache搭建的(详见在Linux上用Apache搭建Git服务器。在网上发现了这篇文档——ImportbarerepositoriesintoyourGitLabinstance,并按之进行了操作。设置存放代码库的主目录vi/etc/gitlab/gitlab.rb比如这里设置为:git_data_dir“/gitlab/repos“访问刚搭建的GitLab站点,创建一个group,比如blogs。这时会在/gitlab/repos下创建/gitlab/repos/repositories/blogs文件夹。然后在/gitlab/repos/repositories/创建一个文件夹,比如blogs将现有的所有git项目文件复制到这个文件夹cp-r/data/git/*/gitlab/repos/repositories/blogs修改一下复制过来的文件夹的所有者:chown-Rgit:git/gitlab/repos/repositories/blogs运行GitLab导入命令cd/var/opt/gitlabgitlab-rakegitlab:import:repos等了一段时间之后,显示done,却一个项目也没导入进来。经研究发现,在导入时,GitLab只认文件夹名以.git结尾的项目。于是,将要导入的项目文件夹名称加上.git后缀,再次进行导入。结果显示导入成功,比如:Processingblogs/BlogsJob.git*CreatedBlogsJob(blogs/BlogsJob.git)Done!可以是GitLab站点上却看不到已导入的项目。多次努力,也没能解决这个问题。后来,实在没法,改为手动导入,导入方法如下:在GitLab站点上创建与要导入的项目同名的项目。进入刚创建的项目文件夹cd/gitlab/repos/repositories/blogs/项目名称.git删除该文件下的所有文件rm-rf*将要导入的项目文件夹下的所有文件复制过来cp-r/data/git/BlogsJob/*/gitlab/repos/repositories/blogs/BlogsJob.git就这样将项目一个一个地导入进来。导入完成后,修改一下导入的所有项目的文件所有者chown-Rgit:git/gitlab/repos/repositories/blogs如果不修改所有者,客户端无法进行gitpush。就这样手动地完成了现有Git项目的导入。备注:操作系统是CentOS.,GitLab版本是..。

  ⒇搭建git服务器需要什么样的配置

  ⒈搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几条简单的apt命令就可以完成安装。假设你已经有sudo权限的用户账号,下面,正式开始安装。第一步,安装git:$sudoapt-getinstallgit第二步,创建一个git用户,用来运行git服务:$sudoaddusergit第三步,创建证书登录:收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。第四步,初始化Git仓库:先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令:$sudogitinit--baresample.gitGit就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:$sudochown-Rgit:gitsample.git第五步,禁用shell登录:出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:git:x:::,,,:/home/git:/bin/bash改为:git:x:::,,,:/home/git:/usr/bin/git-shell这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。第六步,克隆远程仓库:现在,可以通过gitclone命令克隆远程仓库了,在各自的电脑上运行:$gitclonegitserver:/srv/sample.gitCloninginto’sample’...warning:Youappeartohaveclonedanemptyrepository.剩下的推送就简单了。管理公钥如果团队很小,把每个人的公钥收集起来放到服务器的/home/git/.ssh/authorized_keys文件里就是可行的。如果团队有几百号人,就没法这么玩了,这时,可以用Gitosis来管理公钥。这里我们不介绍怎么玩Gitosis了,几百号人的团队基本都在强了,相信找个高水平的Linux管理员问题不大。管理权限有很多不但视源代码如生命,而且视员工为窃贼的公司,会在版本控制系统里设置一套完善的权限控制,每个人是否有读写权限会精确到每个分支甚至每个目录下。因为Git是为Linux源代码托管而开发的,所以Git也继承了开源社区的精神,不支持权限控制。不过,因为Git支持钩子(hook,所以,可以在服务器端编写一系列脚本来控制提交等操作,达到权限控制的目的。Gitolite就是这个工具。

  ⒉如何搭建linuxgit服务器

  ⒊首先我们分别在Git服务器和客户机中安装Git服务程序(刚刚实验安装过就不用安装了):[rootlinuxprobe~]#yuminstallgitLoadedplugins:langpacks,product-id,subscription-managerThissystemisnotregisteredtoRedHatSubscriptionManagement.Youcanusesubscription-managertoregister.Packagegit-...-.el.x_alreadyinstalledandlatestversionNothingtodo然后创建Git版本仓库,一般规范的方式要以.git为后缀:[rootlinuxprobe~]#mkdirlinuxprobe.git修改Git版本仓库的所有者与所有组:[rootlinuxprobe~]#chown-Rfgit:gitlinuxprobe.git/初始化Git版本仓库:[rootlinuxprobe~]#cdlinuxprobe.git/[]#git--bareinitInitializedemptyGitrepositoryin/root/linuxprobe.git/其实此时你的Git服务器就已经部署好了,但用户还不能向你推送数据,也不能克隆你的Git版本仓库,因为我们要在服务器上开放至少一种支持Git的协议,比如HTTP/HTTPS/SSH等,现在用的最多的就是HTTPS和SSH,我们切换至Git客户机来生成SSH密钥:[rootlinuxprobe~]#ssh-keygenGeneratingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):Createddirectory’/root/.ssh’.Enterpassphrase(emptyfornopassphrase):Entersamepassphraseagain:Youridentificationhasbeensavedin/root/.ssh/id_rsa.Yourpublickeyhasbeensavedin/root/.ssh/id_rsa.pub.Thekeyfingerprintis::a::d:f:ee::f:::::a:dd:f:’srandomartimageis:+--[RSA]----+|.o+oo.o.||.oo*.+.||..+E*o||o=+=.||Soo|||||||||+-----------------+将客户机的公钥传递给Git服务器:[rootlinuxprobe~]#’spassword:Numberofkey(s)added:Nowtryloggingintothemachine,with:“ssh’...’“andchecktomakesurethatonlythekey(s)youwantedwereadded.此时就已经可以从Git服务器中克隆版本仓库了(此时目录内没有文件是正常的:[rootlinuxprobe~]#:/root/linuxprobe.gitCloninginto’linuxprobe’...warning:Youappeartohaveclonedanemptyrepository.[rootlinuxprobe~]#cdlinuxprobe[rootlinuxprobelinuxprobe]#初始化下Git工作环境:[rootlinuxprobe~]#gitconfig--globaluser.name“LiuChuan“[rootlinuxprobe~]#gitconfig--globaluser.email““[rootlinuxprobe~]#gitconfig--globalcore.editorvim向Git版本仓库中提交一个新文件:[rootlinuxprobelinuxprobe]#echo“IsuessfullyclonedtheGitrepository“》readme.txt[rootlinuxprobelinuxprobe]#gitaddreadme.txt[rootlinuxprobelinuxprobe]#gitstatus#Onbranchmaster##Initialmit##Changestobemitted:#(use“gitrm--cached...“tounstage)## newfile:readme.txt#[rootlinuxprobelinuxprobe]#gitmit-m“CloheGitrepository“[master(root-mit)]CloheGitrepositorymitter:rootfilechanged,insertion(+)createmodereadme.txt[rootlinuxprobelinuxprobe]#gitstatus#Onbranchmasternothingtomit,workingdirectoryclean但是这次的操作还是只将文件提交到了本地的Git版本仓库,并没有推送到远程Git服务器,所以我们来定义下远程的Git服务器吧:[rootlinuxprobelinuxprobe]#:/root/linuxprobe.git将文件提交到远程Git服务器吧:[rootlinuxprobelinuxprobe]#gitpush-uservermasterCountingobjects:,done.Writingobjects:%(/),bytes|bytes/s,done.Total(delta),reused(delta):/root/linuxprobe.git*[newbranch]master-》masterBranchmastersetuptotrackremotebranchmasterfromserver.为了验证真的是推送到了远程的Git服务,你可以换个目录再克隆一份版本仓库(虽然在工作中毫无意义:[rootlinuxprobelinuxprobe]#(delta),reused(delta)Receivingobjects:%(/),done.[rootlinuxprobeDesktop]#cdlinuxprobe/[rootlinuxprobelinuxprobe]#catreadme.txtIsuessfullyclonedtheGitrepository这篇是详细介绍Git的,中间有一部分是怎么去搭建,你可以看下

  ⒋如何创建自己的私有git服务器

  ⒌通过以下的步骤,你将在服务器上搭建并使用你自己的Git服务,例如myhost.example.。其中的一些步骤,像email通知,限制用户的权限,特定分组的接入管理,都是依据你的要求和现实状况的可选项。还有很多命令,你需要root权限才能执行,所以别忘了用sudo,或者(最好不要直接切换到root来执行。为有读写权限的用户建立一个分组。根据你的操作系统,你可以用groupadd命令来实现,用vigr来编辑分组文件,或者直接编辑/etc/group文件。在最后,你会在/etc/group文件中看到如下一行repogroup:*::marry,john,violet其中,repogroup是准许接入这个仓库的组的名字。是一个独一无二的分组识别数字,marry,john,violet则是获准接入这个仓库的用户。决定Git仓库的路径。它既可以放在你的home路径下(e.g./home/yourname/gitroot,也可以放在一个专用的路径下(e.g./var/gitroot).配置权限,让Git用户可以访问这个目录chmodg+rx/path-to/gitrootchown:grouprepo/path-to/gitroot建立新的Git仓库,叫做newrepocd/path-to/gitrootgitinit--barenewrepo.git建立路径认证,以允许用户组访问,同时有针对性的设置Gitcdnewrepo.gitchown-R:grouprepo.gitconfigcore.sharedRepositorygroupfind.-typed-print|xargs-chmodfind.-typef-print|xargs-chmodg=u设置提交(mit的email通知(mit是一条命令,这样当有新的修改提交到仓库的时候,开发者们将会收到一封关于修改内容一览的电子邮件。echo’One-lineprojectdescription’》descriptiongitconfig--,,...gitconfig--localhooks.emailprefix’[DI-PR]’gitconfig--localhooks.showrev“gitshow-C%s;echo“gitconfig--localhooks.emailmaxlines通过设置一个称为钩子(hook的东东,来创建这些email通知。cdhookscppost-receive.samplepost-receivechmod+xpost-receive从post-receive的脚本中移除掉最后一行注释的#字号,最后语句应该是这样的./path-to-hooks/post-receive-email在你的库中先放入一个文件(比如README。为了避免其他用户在第一次提交时遇到奇怪的错误信息时感到困惑,这是有必要的。cdto-your-personal-working-directorygitclonemyhost.example.:/path-to/gitroot/newrepo.gitecho“Shortprojectdescription“》README.txtgitaddREADME.txtgitmit-a-m“AddREADMEfile“gitpushoriginmaster#第一次仅仅需要T“originmaster“这个参数为仓库的其他用户建立账户。依据你系统的不同,你可以通过useradd或者adduser来实现。设置用户可以通过公/私钥配对来访问。这包括以下几步:已经有公钥的用户,只需要把公钥发给你就好。没有公钥的用户,必须用ssh-keygen命令来生成一个,然后把.ssh/id_rsa.pub发给你就可以了。之后你必须在他们对应的账户下面建立这种公/私钥配对。复制他的公钥,然后顺序执行下面的命令。sudosu-usernamemkdir-p.sshcat》》.ssh/authorized_keys《《EOFpaste-key-as-one-lineEOFexit改变用户的账户让他们使用受限的shell。如果你想让你添加进来的用户仅仅使用Git,而不是Unix的所有东西,那么就设置他们的账户,让他们只能使用Git。Git提供了这种专为这种需求设计的受限shell。它通常被安装在/usr/libexec/git-core/git-shellor/usr/local/libexec/git-core/git-shell。因此,对所有你想限制权限的用户,你可以执行以下命令。sudochsh-s/usr/libexec/git-core/git-shellusername告诉你的用户,用下面的语句来克隆仓库到本地。gitclonemyhost.example.:/path-to/gitroot/newrepo.git到了这里,恭喜你,你成功了!

  ⒍自建git服务器怎样使用面板

  ⒎Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP,HTTPS,SFTP等协议也能实现Git共享,此文档不讨论,但是SSH有客户端服务器端,所以在windows下的开发要把自己的Git仓库共享出去的话,就必须做SSH服务器。一、安装GITWindows下使用msysgit,本文使用Git-..-preview.exe安装要点步骤安装完成后,可以使用Gitbash在命令行模式下操作git二、安装CopSSH安装CopSSH之前先确保防火墙开启了SSH端口,这个虽然不影响CopSSH的安装,但是影响SSH访问,所以写在前面。CopSSH是windows下的SSH服务器软件,下载地址baidu之,本文使用的是Copssh_.._Installer.exe,安装完成后,到控制面板中新建一个管理员账户root,用这个账户来共享SSH。然后你在账户管理中会看到之前的SvOPSSH账户。将root用户添加到CopSSH用户中,为简单操作,允许使用密码认证方式若是不允许密码认证,则需要使用公钥密钥方式认证,三、CopSSH中使用GIT现在已经安装GIT和CopSSH,接下来需要做的就是让CopSSH可以使用GIT的命令,这样不仅能够远程SSH管理GIT服务器,而且可以将GIT仓库通过SSH共享。具体的操作方法是将GIT的某些命令程序和动态链接库复制到CopSSH安装目录下即可。l将$Gitlibexecgit-core目录下的git.exe,git-receive-pack.exe,git-upload-archive.exe,git-upload-pack.exe复制到$ICWbin目录下l将$Gitbin目录下的libiconv-.dll复制到$ICWbin目录下重启CopSSH即可

  ⒏怎么搭建git服务器

  ⒐安装OpenSSH并配置SSH无密码登陆通过命令sudoapt-getinstallopenssh-server,安装SSH服务。通过命令ps–e|grepssh,查看ssh服务是否启动。通过以上命令,我们为Ubantu系统安装SSH服务,并配置SSH无密码登陆,首先我们修改主机和ip配置文件:gedit/ect/hosts、创建用户git,用来管理运行git服务。、配置无密码SSH登陆在gitClient_上,我们使用命令:ssh-keygen–trsa生成密钥完成之后,在.ssh目录下,我们可以看到id_rsa和id_rsa.pub文件,id_rsa.pub为公钥,我们通过命令scp/home/git/.ssh/id_rsa.pubgitServer:/home/git将gitClient_上生成的公钥拷贝到gitServer上。在gitServer上我们首先查看/home/git/.ssh目录下是否存在authorized_kesys文件,如果没有,可以通过touchauthorized_keys创建此文件。Authorized_keys创建完成后,将gitClient_上拷贝过来的公钥id_rsa.pub的内容追加到authroized_keys中,注意是追加到此文件中,可以使用命令cat/home/git/id_rsa.pub》》/home/git/.ssh/authorized_keys.以上内容完成后,我们在gitClient_中,可以使用命令sshgitServer即可完成无密码登陆。、安装Git通过命令sudoapt-getinstallgit-core,安装git、建立git仓库的存储目录。、初始化服务器端仓库使用命令git–bareinit/home/git/myRep.git,初始化化仓库、在gitClient_上,通过gitclone命令进行克隆远程仓库,并在各自的电脑上运行开发。GitclonegitgitServer:/home/git/myRep.git通过以上的步骤就完成了git服务器的搭建!

您可能感兴趣的文章:

相关文章