搭建自己的Git服务器

环境

服务端:Ubuntu 22.04

客户端:Win11_x64

前提条件:需要确保在Windows机器上能够ping通Ubuntu服务器, 并且服务端与客户端均已安装了Git软件

服务端上的配置操作

以Ubuntu服务器作为Git服务端的运行环境,并方便后期免密推送及管理代码的需求,需要先安装OpenSSH及创建git专属用户等操作。

1. 先检查是否已经安装OpenSSH软件

dpkg --list | grep ssh

如果出现如上图所示,说明已经安装了OpenSSH软件;如果没有上图红框中的两行说明需要安装 openssh-server openssh-client;

apt-get install -y openssh-server openssh-client

安装完成之后再次用上述命令(dpkg --list | grep ssh)进行检查是否已经安装成功,并可以使用以下命令查看ssh服务的运行状态及启动ssh服务

systemctl status ssh   查看ssh服务的运行状态

systemctl enable ssh   启动ssh服务

2. 新建专属用户git,为了方便连接服务端仓库时使用

adduser git

然后输入两次密码,一路回车就创建好了

(PS: useradd git 这个命令也可以创建,区别在于执行这条命令时不需要设置密码,后面需要使用chpasswd命令来修改密码,如 echo "git:123456" | chpasswd)

3. 进入git用户主目录,先创建一个远端仓库(我这里将远端仓库放在了git主目录下,位置可以根据自己情况)

cd /home/git/private_code_repository/

创建一个名为FristProject的空仓库

git init --bare FirstProject.git

4. 在git主目录下先创建一个.ssh目录以便后面使用

mkdir -p /home/git/.ssh/

5. 修改仓库存放目录的所有者及所属组均为git,方面后面git用户可以直接访问

chown git:git -R /home/git/private_code_repository/

客户端上的配置操作

1. 打开终端窗口,使用以下命令生成公私匙

ssh-keygen -t rsa

生成的公私钥一般存放在类似 C:\Users\DELL\.ssh 这样的目录下

 在 C:\Users\DELL\.ssh 目录下右键打开终端,使用scp将 id_rsa.pub 拷贝到服务端/home/git/.ssh/目录下,第一次操作时需要输入git用户的密码

在服务端进入/home/git/.ssh/目录,执行命令  cat id_rsa.pub >> authorized_keys (PS:这步操作需要在服务端执行一下)

本地待推送目录为空时

 2. 如果客户端还没有需要推送的本地仓库(空目录时),则可以直接clone服务端新建的仓库,直接clone的仓库已经默认为仓库添加了origin别名

3. 此时就可以在仓库下存放代码脚本等各种文件,然后执行下面操作将其提交到本地仓库
 

 4. 提交到本地仓库后,可以将其push的远端仓库(因为已经有了远端仓库的别名origin,所以可以直接push.PS:第一次push需要添加-u参数,后面就不需要了) 

 推送到远端仓库后,发现远端仓库FirstProject.git并没有什么明显的变化

5. 在服务器上的另一个目录下或者团队协作其他成员需要使用时模拟拉取操作,首次需要clone,后期pull

 6. 测试修改一次readme.txt文件后,客户端直接git push, 其他成员直接git pull就可以了

2-6步模拟了客户端为空目录时的情况,下面给出待推送目录已有代码文件时的情况:

本地待推送目录不为空时

 1. 先在服务端建立一个新的仓库SecondProject.git

2. 如下图所示,在本地机器上已有待推送的文件夹NewProject,但它不是一个受git管控的目录(没有.git目录)
3. 此时先将NewProject初始化为一个受git管控的目录(git init),然后再将所有代码文件提交的本地仓库(git add/git commit)

4. 此时虽然已经将NewProject提交到本地仓库,但还没有与任何远端仓库建立连接
 5. 将本地仓库与远端仓库SecondProject.git建立连接

git remote add origin ssh://git@10.1.104.100:/home/git/private_code_repository/SecondProject.git

git remote -v

6. 如上图所示已经将本地仓库与远端仓库建立了连接,就可以使用git push 推送代码到远端仓库
git push -u origin master

并在服务器上模拟从远端仓库clone操作

7. 测试在客户端修改文件后git push,然后在服务器上模拟拉取操作 git pull
 

 

以上演示了客户端待推送目录为空和不为空时的push操作;并模拟了从服务端仓库的clone与pull操作。

至此,就搭建好了自己的Git服务器,方便工作与学习中管理代码。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要搭建一个私有Git 服务器,基本步骤如下: 1. 安装 Git:在 Linux 服务器上执行命令 sudo apt-get install git 即可安装 Git。 2. 创建 Git 用户:执行命令 sudo adduser git 创建用户名为 git 的新用户。 3. 初始化 Git 仓库:在 git 用户的 home 目录下创建存放 Git 仓库的目录,并在此目录下执行 git init --bare <仓库名>.git 命令来创建一个裸仓库。其中,<仓库名> 可以自己定义。 4. 配置 SSH:在 Git 用户的 home 目录下,创建 .ssh 目录并将 SSH 公钥文件 id_rsa.pub 添加到 authorized_keys 文件中。这样就可以使用 SSH 协议来访问 Git 服务。 5. 设置访问权限:在 Git 仓库所在的目录下,执行命令 chown -R git:git <仓库名>.git 将目录的所有权赋予 git 用户,并执行命令 chmod -R 755 <仓库名>.git 修改权限。 6. 打开端口:如果使用 SSH 协议访问 Git 服务,则需要打开服务器端口。默认情况下,SSH 协议使用的端口为 22。 7. 测试:在客户端使用 Git 工具测试访问 Git 服务是否正常工作。 需要注意的是,搭建私有 Git 服务器需要具备一定的 Linux 和 Git 知识,建议在了解清楚操作流程和安全风险后再进行相关配置。 ### 回答2: 在Linux系统中,可以通过搭建私有Git服务器来进行代码的版本控制和团队协作。下面是一些搭建私有Git服务器的具体步骤和注意事项: 1. 安装Git 首先需要在Linux系统中安装Git。可以通过命令行输入sudo apt-get install git来安装Git。 2. 创建Git用户 为了保证数据的安全,最好创建一个专门的Git用户来管理Git服务器的安全。可以通过命令sudo adduser git来创建Git用户,并设置密码。 3. 初始化Git仓库Git用户下,通过命令行输入sudo mkdir /git,创建一个文件夹用于存放Git仓库,可以通过sudo chown git:git /git来给Git用户设定相应的权限。接下来,在/git文件夹下创建具体的Git仓库,可以通过命令sudo git init --bare /git/repo.git来创建一个名为repo.gitGit仓库。 4. 配置Git用户 为了保证Git服务器的安全,需要为Git用户配置SSH密钥。可以通过命令行输入sudo su git,然后通过ssh-keygen来生成相应的SSH公私钥,将公钥添加到到~/.ssh/authorized_keys文件中。这样,在使用Git客户端时,就可以使用SSH私钥来访问Git服务器了。 5. 完成 搭建私有Git服务器的过程非常简单,只需要几个简单的步骤就可以完成。最后,在Git客户端中,可以通过命令git remote add origin git@服务器IP地址:/git/repo.git来在Git客户端中添加一个指向Git服务器的远程仓库,然后,就可以使用Git工具进行版本管理和团队协作了。 需要注意的是,在搭建私有Git服务器时,需要考虑到数据的安全和权限的设置,避免不必要的数据丢失和权限泄露。同时,也需要注重Git客户端的配置和安全,避免恶意攻击和数据泄露。 ### 回答3: 搭建私有Git服务器是非常有必要的,特别是对于一些敏感的代码或是重要的开发项目。如果您想要搭建自己的Git服务器,那么Linux系统是您最佳的选择,因为它是开源的、免费的,而且以稳定和安全而著称。下面是一个简单介绍如何在Linux平台上搭建Git服务器的步骤。 第一步,安装Git。在Linux系统中,您可以使用Package Manager(包管理器)来安装Git。例如,在Debian和Ubuntu上,您可以使用以下命令安装Git: sudo apt-get install git-core 在安装完成后,您可以通过输入以下命令来检查Git是否安装成功:git --version 第二步,创建Git用户。在Linux系统中,您需要为Git服务创建一个专门的用户。首先,您需要使用以下命令来创建一个名为git的用户: sudo adduser git 接下来,您需要登录到git用户: sudo su git 然后创建一个名为.gitolite的目录: mkdir .gitolite cd .gitolite 接着,在该目录下执行以下命令以克隆Gitolite代码库: git clone git://github.com/sitaramc/gitolite 第三步,安装Gitolite。运行以下命令以安装Gitolite: gitolite/install -symlink 这将在/home/git/bin目录下安装Git服务,并创建一个.gitolite.rc配置文件。 第四步,管理Git仓库。您可以将Git仓库放到/home/git/repositories目录下,例如在/home/git/repositories下创建一个名为test.gitGit仓库git init --bare /home/git/repositories/test.git 然后,您可以将Git仓库命名为任何您想要的名称。 第五步,配置Gitolite。在git用户的主目录下,创建一个名为.gitolite.rc的文件,其中指定您的Git仓库和访问权限等。 使用以下命令来添加一个新的协作者: git clone git@localhost:gitolite-admin.git cd gitolite-admin 编辑conf/gitolite.conf文件以添加新用户及其权限: repo test RW+ = user1 RW = user2 git commit -m "Added users and their permissions" git push origin master 第六步,测试Git服务器。使用以下命令来检查您的Git服务是否运行正常: ssh git@localhost info 现在,您就成功地在Linux系统中搭建了自己的Git服务器。如果您想要添加更多的Git仓库,您可以重复以上步骤即可。有了一个私有Git服务器,您就可以安全地管理您的代码库了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值