linux 设置git ip,在Linux中设置Git服务器,配置本地Git存储库的方法

在本文中,我们解释了如何在Linux上设置裸Git服务器,如果你的存储库很少并且合作者都精通技术,则此设置非常有用,否则,你应该考虑安装自托管的git应用程序,例如Gitea、Gogs或Gitlab(参考:在Linux系统上使用GitLab托管自己的Git server)。当涉及到Git托管时,你可以使用许多选项,GitHub、Gitlab和Bitbucket是受欢迎的解决方案。通过设置Git服务器,你可以创建私有存储库,而不受提供商免费计划的限制,可以在任何远程Linux机器甚至本地系统上设置Git服务器。

7f77bb1e0015463bd4e28339afe43370.png

设置Git服务器

第一步是在你的服务器上安装Git。

如果使用的是Debian或Ubuntu,请以sudo用户身份运行以下命令来刷新本地软件包索引并安装git:

$ sudo apt update && sudo apt install git

要在CentOS服务器上安装git软件包,请输入:

$ sudo yum install git

接下来,创建一个新用户来管理Git存储库:

$ sudo useradd -r -m -U -d /home/git -s /bin/bash git

用户主目录设置为/home/git,所有存储库都将存储在此目录下,我们没有为用户“git”设置密码,只有使用ssh键才能登录。

使用su命令切换到用户“git”:

$ sudo su - git

运行以下命令创建SSH目录并设置正确的权限:

$ mkdir -p ~/.ssh && chmod 0700 ~/.ssh

创建一个名为~/.ssh/authorized_keys的文件,该文件将包含授权用户的SSH密钥:

$ touch ~/.ssh/authorized_keys && chmod 0600 ~/.ssh/authorized_keys

服务器设置完成,现在你可以创建第一个Git存储库了。

运行以下命令以启动新的空存储库:

$ git init --bare ~/projectname.git

你可以根据需要命名目录,重要的是在“git”用户主目录下创建存储库:

Initialized empty Git repository in /home/git/projectname.git/

配置本地Git存储库

为了能够将本地git更改推送到Git服务器,需要将本地用户SSH公钥添加到远程“git”用户的authorized_keys文件中。

如果已经在本地系统上创建了SSH密钥对,则可以通过键入以下命令显示公钥:

$ cat ~/.ssh/id_rsa.pub

输出应类似于以下内容,如下图:

828a4b2a184ba499cb0437075389e7e5.png

如果收到错误消息,提示没有此类文件或目录,则表明你在本地计算机上没有生成SSH密钥对。

要生成新的SSH密钥对,请使用以下命令:

$ ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"

复制上面的cat命令的输出,然后返回到Git服务器控制台。

在服务器上,打开文本编辑器,然后将从本地计算机复制的公钥粘贴到~/.ssh/authorized_keys文件中:

$ sudo nano /home/git/.ssh/authorized_keys

整个公钥文本应该在一行上。

我们假设你的本地计算机上已经安装了Git软件包,如果没有安装,请按照前面内容中所述的相同方法进行安装。

如果你有一个未版本控制的项目,请导航到项目目录,如果你是从头开始的,请创建项目目录,然后浏览至该目录:

$ cd /path/to/local/project

初始化git仓库:

$ git init .

最后一步是将git remote添加到本地存储库:

$ git remote add origin git@git_server_ip:projectname.git

不要忘记用你的Git服务器主机名或IP地址替换git_server_ip。

要验证所有设置是否正确,请创建一个测试文件:

$ touch test_file

将更改添加到登台区域:

$ git add .

提交更改:

$ git commit -m "descriptive message"

将本地存储库更改推送到远程存储库:

$ git push -u origin master

如果一切设置正确,则输出应如下所示:

Counting objects: 3, done.

Writing objects: 100% (3/3), 218 bytes | 218.00 KiB/s, done.

Total 3 (delta 0), reused 0 (delta 0)

To git_server_ip:projectname.git

* [new branch]      master -> master

Branch 'master' set up to track remote branch 'master' from 'origin'.

要添加新的协作者,只需将其公共SSH密钥复制到“git”用户的~/.ssh/authorized_keys文件中即可。

你可以使用相同的步骤来创建新的存储库,重要的是要注意,在将git remote添加到本地存储库之前,远程存储库必须存在。

相关主题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值