Linux搭建GIT远程仓库【粘贴复制版】

本文详细介绍了如何在Linux系统中安装并配置Git服务器,包括创建远程仓库、设置用户权限,以及如何从Windows客户端克隆仓库。同时,教程还讲解了如何在Windows端生成SSH密钥并配置,实现免密克隆Linux上的Git仓库,确保安全便捷地进行代码同步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、安装git

windows和Linux都需要安装git,这里介绍Linux的安装步骤

以root用户为例:

1.1> 安装git

yum install git y

git的默认安装路径在/usr/libexec/git-core

1.2> 查看git版本,检查是否成功

git --version

1.3> 设置Linux端GIT的账号和密码

groupadd git

设置账号

#shuizhu 为账号名字,根据你的实际命名
useradd shuizhu -g git

设置密码

#passwd后为账号的名字
passwd shuizhu

输入以上命令后,会提示输入密码和确认密码

2、设置远程仓库

2.1> Linux端,在/home目录下建立文件夹"shuizhu"名字可以任意命名

mkdir -p /home/shuizhu

2.2> 进入到该目录

cd /home/shuizhu

2.3> 建立远程仓库文件"test.git"

mkdir -p test.git

2.4>初始化该远程仓库

git init --bare test.git

仓库搭建完毕,会出现以下信息

Initialized empty Git repository in /home/shuizhu/test.git

2.5> 配置仓库,把仓库所属用户改为shuizhu(你设置的git账号)

chown -R shuizhu:git test.git/

注:chown将指定文件的拥有者改为指定的用户或组 -R处理指定目录以及其子目录下的所有文件

3、window克隆Linux的远程仓库

3.1>  在window中的工作空间中,右键---git bash here

 3.2> 输入以下命令【101.212.116.178为我的主机IP地址】

# 注意@符号前,为Linux的用户名root,不是Git的用户名
git clone root@101.212.116.178:/home/shuizhu/test.git

3.3>  输入连接主机的密码,即可拉去Linux的远程仓库,我的仓库名为"shuizhu"

第一次连接远程仓库时,Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,键入yes,然后输入远程仓库的密码就即可。

3.4> 这时,该文件夹为与Linux远程仓库关联的本地仓库

想上传文件给git服务器,只需要把文件放在该目录下即可,

3.4.1> 在我的D://workplace/test中,打开git  bash here ,输入

git  init 

3.4.2>输入

git  remote add  origin root@101.212.116.178:/home/shuizhu/test

进行Linux远程仓库关联,如果已经关联,会提示错误,可以忽略

3.4.3>输入git add .  把文件提交至缓存区

git add .

3.4.4> 输入git commit -m '提示信息'

git commit -m '提示信息'

3.4.5> 开始推送代码

git push

如果推送失败,出现以下问题:

在这里插入图片描述 

则强制推送:

git push -f origin master

 至此,Linux的远程仓库的代码会随之更新

4、设置window免密克隆Linux仓库

4.1> 在windows客户端的gitbash中生成用户私钥和公钥

直接在git  bash  here 输入以下指令

# shuizhu@163.com请替换成你的邮箱地址
ssh-keygen -t rsa -C "shuizhu@163.com"

此时,在c盘用户路径下的/.ssh文件夹下会生成私钥id_rsa和公钥id_rsa.pub

 4.2> 在Linux端

修改/etc/ssh/sshd_config,将其中的以下三项打开【有些Linux版本可能没有如下配置】

 RSAAuthentication yes 

 PubkeyAuthentication yes 

 AuthorizedKeysFile .ssh/authorized_keys

4.3> 将客户端生成的公钥给到服务器端

将公钥给到 home/shuizhu/.ssh/authorized_keys中,注意:(shuizhu为git的用户名)

注意,在Linux的GIT中,你创建的git账户,会在/home下生成用户文件夹

 进入到该目录【shuizhu】

cd /home/shuizhu

建立配置文件

mkdir .ssh

提升权限

chmod 777 .ssh
touch .ssh/authorized_keys

4.4> 在Windows的git bash here窗口中,执行以下命令[同步公钥]

ssh root@101.212.116.178 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

4.5> 在Linux端的git用户目录下[ /home/shuizhu ]

目的:提高文件的读写权限

chmod 600 .ssh/authorized_keys
chmod 700 .ssh
# shuizhu为git的账号名
chown shuizhu:git .ssh
# shuizhu为git的账号名
chown shuizhu:git .ssh/authorized_keys 
<think>好的,我需要帮助用户查找如何在本地环境中设置和配置Git服务器的信息。根据用户提供的引用内容,有三个相关引用:[^1]、[^2]、[^3]。让我先仔细看看这些引用内容,看看哪些部分能用来回答用户的问题。 首先,引用[1]提到搭建私有Git服务器的步骤,包括测试服务器可访问性、关联本地仓库远程仓库以及推送代码。这可能涉及到Git的基本配置和SSH的使用。接下来,引用[2]讨论了在真实服务器或虚拟机中的操作,特别是安装Git和SSH的步骤,以及使用普通用户或root用户的注意事项。最后,引用[3]专门针对Mac系统,说明如何在本地搭建Git服务器,可能包括特定的Mac命令或配置。 用户的需求是“在本地环境搭建配置Git服务器教程”,所以需要综合这些引用中的信息,整理出一个通用的步骤,可能包括安装Git、配置SSH、创建仓库、设置权限以及测试连接等。需要注意的是,不同操作系统可能有细微差别,比如引用[3]专门针对Mac,而引用[2]可能更适用于Linux或虚拟机环境。 接下来,我需要确保回答符合系统级指令,比如使用正确的中文,行内数学表达式用$...$(虽然这个问题可能不涉及数学公式),独立公式用$$...$$。不过在这个问题中,可能不需要数学公式,但需要遵循其他格式要求,如代码块使用反引号,结构清晰分步骤,并在末尾生成相关问题。 另外,用户引用的内容中提到了关联远程仓库的命令:git remote add origin git@your-server-ip:/home/git/repository.git 和推送代码的命令git push origin master。这些命令需要正确展示,并注意路径和权限问题,比如确保用户有权限访问服务器目录。 可能还需要考虑SSH密钥的配置,因为Git服务器通常通过SSH进行安全通信。引用[2]提到安装SSH,这可能涉及生成SSH密钥对,并将公钥添加到服务器的authorized_keys文件中,以便无需密码登录。这部分是否在引用中有提到?引用[2]提到了安装Git和SSH,但具体配置步骤可能需要进一步解释。 此外,引用[1]中的步骤是在本地机器上测试服务器的可访问性,所以可能需要检查网络配置,比如IP地址是否正确,防火墙是否允许SSH连接等。引用[2]提到使用VMware时本地机可以Ping通,这可能涉及到虚拟机的网络设置,比如桥接模式或NAT配置。 对于Mac系统,引用[3]可能包含特定的指导,比如使用内置的SSH服务或者某些Mac特有的工具。需要确认引用中的信息是否足够详细,或者是否需要补充其他常见的Mac配置步骤,比如启用远程登录等。 总结来说,搭建Git服务器的基本步骤可能包括: 1. 安装Git和SSH服务 2. 创建Git用户和仓库目录 3. 配置SSH密钥认证 4. 初始化Git仓库 5. 设置远程仓库并测试连接 在回答时需要将这些步骤详细说明,并结合引用中的具体命令,比如安装Git的命令(sudo apt-get install git openssh-server for Ubuntu/Debian,或者Mac上的Homebrew命令),创建用户的命令(sudo adduser git),初始化仓库git init --bare)等。同时,注意权限设置,比如将仓库目录的拥有者改为git用户,并设置正确的权限。 可能还需要提醒用户关于服务器安全性的问题,比如限制git用户的shell访问,仅允许通过SSH进行Git操作,这可以通过修改/etc/passwd文件中的git用户的shell为git-shell来实现。 最后,生成的相关问题需要与搭建Git服务器相关,比如如何配置SSH密钥、如何管理多个仓库、如何设置权限控制等。</think>### 如何在本地环境搭建配置Git服务器教程 以下是基于引用内容的本地Git服务器搭建步骤,适用于Linux/Unix系统(包括Mac): --- #### **步骤1:安装Git和SSH服务** 1. **安装Git和SSH** 在服务器端执行以下命令(Linux/Mac通用): ```bash sudo apt-get install git openssh-server # Ubuntu/Debian # 或通过Homebrew(Mac) brew install git openssh ``` 确保SSH服务已启动: ```bash sudo systemctl enable ssh # Linux sudo systemctl start ssh ``` 2. **配置SSH访问** 生成本地机器的SSH密钥对(如果已有可跳过): ```bash ssh-keygen -t ed25519 -C "your-email@example.com" ``` --- #### **步骤2:创建Git用户和仓库目录** 1. **创建专用用户** ```bash sudo adduser git # 创建用户git sudo passwd git # 设置密码(可选,推荐使用SSH密钥认证) ``` 2. **初始化仓库目录** ```bash sudo mkdir /home/git/repository.git # 仓库路径 sudo chown -R git:git /home/git # 修改所有权 cd /home/git/repository.git sudo -u git git init --bare # 初始化裸仓库[^1] ``` --- #### **步骤3:配置SSH密钥认证** 1. **将公钥添加到服务器** 将本地生成的公钥(`~/.ssh/id_ed25519.pub`)内容复制到服务器的`/home/git/.ssh/authorized_keys`文件中: ```bash # 在服务器端操作 sudo -u git mkdir -p /home/git/.ssh sudo -u git touch /home/git/.ssh/authorized_keys sudo -u git chmod 600 /home/git/.ssh/authorized_keys # 将公钥粘贴到该文件中 ``` 2. **限制Git用户权限** 修改`/etc/passwd`,将git用户的shell替换为`git-shell`以禁止登录: ```bash git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell # 替换原有行 ``` --- #### **步骤4:本地连接与测试** 1. **关联远程仓库** 在本地机器上执行: ```bash git remote add origin git@your-server-ip:/home/git/repository.git ``` 2. **推送代码测试** ```bash git push origin master # 若仓库为空,需先添加文件并提交 ``` --- #### **Mac系统补充说明** - Mac已内置SSH服务,可通过`系统偏好设置 > 共享 > 远程登录`启用SSH访问。 - 仓库路径可自定义,如`/Users/git/repository.git`,需确保权限正确。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

睡竹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值