Linux搭建git仓库

环境:
cat etc/redhat-release 
CentOS Linux release 7.8.2003 (Core)

首先检查机器有没有安装yum,命令:yum list 测试下,没有安装先安装yum

安装git

#yum install -y git

安装完后,查看 Git 版本

# git --version
 git version 1.8.3.1

创建 git 用户

# cd /home                                  #进入/home/目录

# id git                                 #查看git用户是否存在

      id: git: no such user                                       #提示git用户不存在

# useradd git                            #创建git用户

 passwd git                             #为git用户创建密码

Changing password for user git.

New password:                                               #设置密码

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:                                        #确认密码

passwd: all authentication tokens updated successfully.

服务器端创建 Git 仓库

[root@ceontOS ~]#mkdir -p home/git/test1109.git   #在git用户目录下创建仓库目录git,并且创建test1109.git项目测试目录

注:git  test1109.git是自建目录  test1109.git为仓库名

[root@ceontOS home]# ls      #查看/home/目录下有哪些用户目录
root   git
[root@ceontOS home]# cd git   #进入git用户目录
[root@ceontOS git]# ls      #查看git用户目录下有哪些目录/文件
 test1109.git

[root@ceontOS git ]# git init --bare ./test1109.git   #这步很重要,初始化项目测试目录

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

然后把 Git 仓库的 owner 所有者修改为 git

[root@ceontOS git]#  ll      #查看test1109.git项目文件夹的拥有者

drwxr-xr-x. 7 root root 119 Nov  9 18:31 test1109.git    #拥有者是root用户名

[root@ceontOS git]# chown -R git:git test1109.git/    #将拥有者改为git用户

[root@ceontOS git]# ll      #再次查看test1109.git项目文件夹的拥有者

drwxr-xr-x. 7 git git 119 Nov  9 18:31 test1109.git          #拥有者是git用户

设置完成

客户端 clone 远程仓库

先在本地Windows系统上创建一个存放git项目的文件夹,例如我的设置在:【D:\testGit1109】

在文件夹内使用git Bash  clone远程仓库

$ git clone  git@服务器公网IP地址:/home/git/test1109.git    

        #IP地址后面跟冒号,冒号后面是刚才初始化的项目文件夹的绝对路径

 此时 C:\Users\用户名\.ssh 下会多出一个文件 known_hosts,以后在这台电脑上再次连接目标 Git 服务器时不会再提示上面的语句。

客户端创建 SSH 公钥和私钥

通过git bash      输入命令ssh-keygen

此时 C:\Users\用户名\.ssh 下会多出两个文件 id_rsa 和 id_rsa.pub

id_rsa_git 是私钥

id_rsa_git.pub 是公钥

服务器端修改配置文件,打开 RSA 认证

进入 /etc/ssh 目录,编辑 sshd_config,打开以下三个配置的注释:

按如下设置这三个配置,如果注释掉了,则去掉前面的#号

RSAAuthentication yes        (有的版本较高可能没有此项,忽略)
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

保存并重启 sshd 服务:

systemctl restart sshd.service   #重启sshd服务

由 AuthorizedKeysFile 得知公钥的存放路径是 .ssh/authorized_keys,实际上是 $Home/.ssh/authorized_keys,由于管理 Git 服务的用户是 git,所以实际存放公钥的路径是 /home/git/.ssh/authorized_keys

在 /home/git/ 下创建目录 .ssh

然后把 .ssh 文件夹的 owner 修改为 git

 

将客户端公钥导入服务器端 /home/git/.ssh/authorized_keys 文件

回到客户端Git Bash 下,导入文件:

$ ssh git@服务器公网IP地址 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

 回到服务器端,查看 .ssh 下是否存在 authorized_keys 文件:

重要:

修改 .ssh 目录的权限为 700

修改 .ssh/authorized_keys 文件的权限为 600

 客户端再次 clone 远程仓库

禁止 git 用户 ssh 登录服务器

之前在服务器端创建的 git 用户不允许 ssh 登录服务器

编辑 /etc/passwd
[root@ceontOS ~]# sudo vi /etc/passwd  #编辑/etc/passwd文件

找到:

git:x:1001:1001::/home/git:/bin/bash

修改为:

git:x:1001:1001::/home/git:/bin/git-shell

此时 git 用户可以正常通过 ssh 使用 git,但无法通过 ssh 登录系统

git服务器仓库设置完成,初始化仓库开始

Windows下客户端操作

在客户端打开Git Bash,然后将目录切换到指定文件夹下面下。执行下面命令,将该文件夹设为本地仓库

git init   初始化 

接着再执行如下命令,将本地仓库连接到服务器上的仓库:

git remote add origin git@公网服务器ip:/home/git/test1109.git

### 回答1: 要在Linux搭建Git远程仓库,需要按照以下步骤进行操作: 1. 安装Git:在Linux上安装Git,可以使用命令行工具或者包管理器进行安装。 2. 创建Git用户:为了安全起见,最好为Git创建一个专门的用户,用于管理Git仓库。 3. 创建Git仓库:使用Git命令创建一个Git仓库,可以在本地或者远程服务器上创建。 4. 配置Git仓库:为Git仓库设置一些基本的配置信息,如用户名、邮箱等。 5. 克隆Git仓库:在本地或者其他服务器上克隆Git仓库,可以使用SSH或者HTTP协议进行克隆。 6. 推送代码:将本地代码推送到Git仓库中,可以使用Git命令或者Git客户端进行操作。 7. 拉取代码:从Git仓库中拉取代码到本地,可以使用Git命令或者Git客户端进行操作。 以上是在Linux搭建Git远程仓库的基本步骤,具体操作可以根据实际情况进行调整。 ### 回答2: 在Linux系统中,我们可以通过Git搭建一套远程仓库,以方便团队进行代码的共享和管理。下面是一个简单的步骤: 1. 安装Git:在Linux系统中使用以下命令安装Git: ``` sudo apt-get install git ``` 2. 创建git用户:使用以下命令创建一个名为git用户: ``` sudo adduser git ``` 3. 创建Git仓库:在git用户的home目录下创建仓库文件夹,例如: ``` sudo mkdir /home/git/repo.git ``` 4. 初始化仓库:使用以下命令初始化仓库: ``` sudo git init --bare /home/git/repo.git ``` 5. 设置仓库访问权限:在仓库目录下使用以下命令设置权限: ``` sudo chown -R git:git /home/git/repo.git sudo chmod -R 755 /home/git/repo.git ``` 6. 创建SSH密钥:使用以下命令在本地机器上创建SSH密钥: ``` ssh-keygen ``` 7. 将公钥添加至仓库:将生成的公钥(~/.ssh/id_rsa.pub)添加至git用户的.home目录下的authorized_keys文件中,例如: ``` sudo su git cd /home/git mkdir .ssh cd .ssh touch authorized_keys nano authorized_keys ``` 在authorized_keys文件中添加公钥。 8. 克隆仓库:使用以下命令将远程仓库克隆到本地: ``` git clone git@ip:/home/git/repo.git ``` 其中,ip为远程服务器的IP地址;repo.git仓库文件夹。 至此,我们已经成功地在Linux系统中搭建了一个Git远程仓库。我们可以让团队成员通过SSH协议访问该仓库,并进行代码的管理和共享。 ### 回答3: Git是一个流行的版本控制系统,可以通过Linux操作系统搭建Git远程仓库。以下是搭建Git远程仓库的步骤,这将有助于您在Linux上设置仓库。 1.安装Git软件包:首先,安装Git软件包。Git是一个自由软件,可以从Git网站上免费下载。您可以使用以下命令安装Git: sudo apt-get install git 如果您使用的是同的Linux发行版,请选择相应的命令来执行安装。 2.创建Git用户:创建一个专用的Git用户,充当版本控制仓库的管理员。此操作可增强安全性。 sudo adduser git 创建用户时,设置密码和其他信息。 3.创建Git仓库:选择要在Linux服务器上设置的Git仓库目录,并创建目录。然后为用户Git设置目录权限。 sudo mkdir /opt/git sudo chown git:git /opt/git 创建完成后,使用以下命令进入目录: cd /opt/git 您可以使用以下命令初始化仓库,并将它设置为共享资源: sudo git init --bare --shared=my-group my-project.git 其中 my-group 是组名,my-project.git 是创建的仓库。同时,Git要求您对各个项目分配名称。 4.设置远程访问:您应该设置一个访问Git仓库的方式。为此,请在虚拟主机上打开SSH,并创建仓库访问的公钥和私钥。 您可以使用以下命令生成SSH密钥: sudo su - git ssh-keygen -t rsa 将公钥添加到Git仓库: sudo cat /home/git/.ssh/id_rsa.pub >> /opt/git/my-project.git/.ssh/authorized_keys 5.下载代码仓库:现在,您可以将代码版本控制仓库Linux服务器下载到客户端。为此,您需要标识仓库位置、仓库名称以及提供SSH密钥。 git clone git@<ServerIpAddressOrHostname>:<RepositoryDirectory>/<RepositoryName>.git 最后,您可以使用以下命令离开Git用户: # exit 总之,以上是在Linux服务器上设置Git远程仓库的步骤。通过这些步骤,您可以更好地管理和维护仓库,从而更加有效地管理代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值