问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在ubuntu系统上建立git仓库

发布网友 发布时间:2022-04-22 13:26

我来回答

1个回答

热心网友 时间:2023-06-22 04:54

一、 在 Ubuntu 系统中部署 Git Server

在Ubuntu系统中,这一步相当简单,只需要在Terminal中输入
sudo apt-get update
完成这一步后,就可以安装 git core 组件,通常情况下,安装在系统中的git 只是一个简单的客户端,包括一些最基本的命令以及特性,而作为保管代码的仓库,则还需要其他特性支持,所以需要安装 git core,如果之前已经安装了 git,那么仍然需要安装 git core

sudo apt-get install git-core

二、配置Git Server

完成这两步之后,就可以开始配置 Git Server 了。
增加 developers 组以及创建保存项目的仓库

需要创建一个新的用户组,并且将创建的仓库都放置在名为 git 的用户下,当然git 要隶属于 developers 组,这样也是为了方便将来的管理需要。

sudo groupadd developers
cd /home/
sudo mkdir git
sudo useradd git -d /home/git

以上四个命令分别为创建 developers 用户组, 并在/home/ 文件夹下为名为 git 的用户创建工作目录,创建名为 git 的用户账户并将它的工作目录指向/home/git。

之后,需要将增加的用户添加到 developers 用户组中,这一步一般通过修改/etc/group 文件达成,在正式修改 /etc/group 文件前或许需要先做一个备份。找到创建的用户组,譬如例子中创建的 developers。或许能在文件中看到类似的一行:

developers:x:1003:

将刚才创建的用户 git,添加到developers中,当然也可以添加其他的“开发者”,就像这样

developers:x:1003:git,tom,francklin,james

创建代码仓库,并修改权限。现在,回到创建好的工作目录 /home/git/,可能需要通过命令cd 来完成将工作路径由 /etc/ 切换为 /home/git/,然后让在 git 下创建一个新的仓库

sudo mkdir yourproject.git
sudo chgrp developers yourproject.git
sudo chmod g+rws yourproject.git

需要将创建的文件夹的所有人由 root 修改为 developers,这样当在本地上传代码至仓库时就不会遇到权限不够的问题。其次需要将仓库的所有权修改,也可以用“777”修改仓库的权限,不过不建议这样做。

sudo git init —bare —shared yourproject.git

在正式上传代码至仓库前,还需要对仓库进行初始化,请注意这里和平常使用方式的不同,—bare 指定创建的仓库为公共仓库,—shared 将使其他人都有权限将他们的代码提交至这个仓库中。

三、提交代码

使用SSH进行提交代码,需要在GIT Server上先安装SSH服务器,可以使用 apt-get 安装 SSH 服务器。

sudo apt-get install openssh-server

在服务器上安装好 ssh 之后,可以使用 ssh localhost 试着登录一下。在没做其他配置的情况下,一般会要求输入用户名和密码,之后会提示登录成功。可以在登录成功后,使用 ls -l 或者 ll 命令查看当前工作路径下有哪些文件和目录,之后,需要使用 exit 退出 ssh 登录。

在本地客户端上,可能需要创建隶属于 developers 组的用户,当然这一步并非必须。

$ sudo groupadd developers # 创建developers用户组
$ sudo mkdir -p /home/git # 创建主目录
$ sudo useradd git -d /home/git -g developers # 创建git用户,并制定其默认的工作路径和隶属的用户组
$ sudo passwd git # 为git设置密码

登录到系统,并使用 passwd username 为用户指定一个密码:

$ sudo passwd git # 为用户git指定密码为1234

之后你再次尝试一次,那么就会成功的把公钥发送给 GIT Server 了。可以使用 ssh git@x.x.x.x 试一试,看看能不能免密码登录至 GIT 服务器上。
完成这些后,就可以上传自己的代码、或者从 Git server 上拉取代码了。

git remote add origin git@x.x.x.x:/home/git/yourproject.git
git push origin master

四、可能出现的错误

如果出现了类似的错误

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The RSA host key for .net has changed,
and the key for the according IP address xx.xx.xxx.xxx
is unknown. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Please contact your system administrator.
Add correct host key in /Users/user/.ssh/known_hosts to get rid of this message.
Offending key in /Users/user/.ssh/known_hosts:5
RSA host key for .net has changed and you have requested strict
checking.
Host key verification failed.

处理方法是,删除客户端的 .ssh/known_hosts 文件。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
创新5.10060声卡怎么关闭,为什么音质变得很差?我用的是KX 我已经装了声卡,和Kx管理器。可声音听见还是那么幼稚。怎么把声音调的... ...装不上KX3550,声卡是 创新5.1的 装完KX3550重启以后,提示 初始化... 我买了一个创新5.1 0060声卡,玩龙之谷游戏就声音不完全,只有背景音乐... 声卡5.10060KX驱动3550调试怎么弄 win11玩csgo游戏一直闪退什么原因 win11玩csgo游戏一直闪退的解决... 习惯养成心得体会 饥荒ios高脚鸟蛋怎么孵化高脚鸟怎么养 故事的力量可以从什么角度来分析? 地震前为什么要出现地震云 怎样在Ubuntu 14.04中搭建gitolite git服务器 如何在ubuntu上搭建git服务器 puyahua 如何在Ubuntu上几步搭建Git Server 怎么在ubuntu创建git服务器 我的苹果手机进水了,然后用吹风机吹干了但是充不上电了该怎么办? 栗子的快速剥法 淘宝是什么? 淘宝客推广怎么查看同行佣金设置比例 淘宝客用自己的推广链接自己买东西有佣金吗 关于买家自己做淘宝客做推广链接拿佣金的问题? 淘宝客的佣金怎么算 404 Not Found 那几个平台可以查询淘宝客佣金 关于淘宝客怎么才能得到佣金? 怎么提取淘宝客佣金计划链接? 怎么成为淘宝客赚取佣金 2022年1月银行存款利率 二年期定期存款的年利率按3.75%计算小涛在银行存了一些钱到期后他实际得到利息144元他存入银行多少元 银行存款二年利率怎么计算的 蜂蜜淹青橄榄有什么功效 如何用虚拟机ubuntu搭建git服务器配置 并可以按照网页访问 如何在ubuntu上搭建git服务器 csdn puyahua 如何搭建git私有仓库 为什么都在ubuntu上搭建git服务器 怎样在ubuntu下搭建topic git(topgit)服务器 ubuntu搭建git服务器 后上传的文件在服务器的什么位置 ubuntu server 搭建git服务器能在windows上面使用吗 手机绑定的QQ号码忘了怎么查询? 周末可以银证转账吗 手机qq账号忘记了怎么办 周末急需银证转账怎么办 中国银行星期日能办理银证转账吗 手机号注册的qq忘了,怎么找回 周末可以用工商银行网上银行转帐吗 周六银行卡转账多久到,会不会因为是周末延迟到账? 银证转账必须在交易时间吗?周六日不行吗? 休市期间可以银证转账吗? 银行周末可以转账吗 周六周日在网上能进行转账吗? 银行转账业务周六周末可以正常进行吗?