Git 搭建内网服务器,通过SSH克隆本地仓库

建立本地仓库:

git init --bare          初始化仓库

git add test.c          增加本地test.c 到缓存

git commit -m "test C source"   提交缓存里的到本地仓库分支

增加远程仓库:

git remote add origin ssh://hostname@hostip/路径          建立远程仓库

git push  origin  master [-f 强制]               提交本地仓库master 仓库分支给远程仓库分支

 

git status                                      查看当前未提交的改变

git remote -v                                查看远程仓库名字和地址

git remote rm [远程仓库名]  移除远程仓库

 

管理多用户权限使用gitosis软件

<think>好的,我需要帮助用户在Linux环境下搭建一个内网Git服务器。首先,我得回忆一下相关的步骤,确保不遗漏任何关键点。根据用户提供的引用内容,特别是引用[2]和引用[3],里面提到了创建Git用户、配置SSH以及仓库管理的方法。 首先,系统需要安装GitSSH服务。用户可能已经安装了Git,但需要确认是否安装了SSH服务器。然后,创建一个专用的Git用户,这样可以提高安全性,避免使用root账户。接下来,设置SSH公钥认证,这样用户可以通过密钥登录,无需密码,既安全又方便。 创建Git仓库的步骤是关键,需要初始化一个裸仓库,通常放在/home/git目录下。裸仓库没有工作目录,适合作为中央仓库。权限设置也很重要,确保Git用户有正确的所有权和访问权限,防止权限问题导致无法推送或拉取。 测试部分需要验证克隆和推送是否正常工作。用户可能需要一个实际的例子,比如创建一个测试仓库克隆本地,进行提交和推送。此外,内网部署需要注意防火墙设置,可能需要开放SSH端口,或者配置内网DNS解析,方便用户通过主机名访问。 另外,用户可能关心如何管理多个仓库,是否需要额外的工具如Gitosis或Gitolite,但根据引用内容,用户可能只需要基本的SSH配置,所以暂时不涉及这些高级工具。最后,提供一个简单的使用示例,帮助用户理解整个流程。 需要检查是否有遗漏的步骤,比如SSH配置是否正确,权限是否设置得当。可能还需要提醒用户关于公钥的添加方式,以及如何处理多个开发者的访问权限。总之,步骤要清晰,命令准确,示例具体,确保用户能够按照指导成功搭建。</think>以下是在纯Linux环境中搭建内网本地Git服务器的详细步骤: ### 一、环境准备 1. 安装GitSSH服务 ```bash sudo apt-get update sudo apt-get install git openssh-server ``` 2. 启动SSH服务并设置开机自启 ```bash sudo systemctl start sshd sudo systemctl enable sshd ``` ### 二、创建Git专用用户 1. 新建git系统用户 ```bash sudo adduser --system --shell /bin/bash --group git ``` 2. 切换到git用户 ```bash sudo su - git ``` ### 三、配置SSH密钥认证 1. 在客户端生成密钥对(开发者机器) ```bash ssh-keygen -t ed25519 -C "your_email@example.com" ``` 2. 将公钥上传至服务器 ```bash ssh-copy-id git@服务器IP ``` 3. 服务器端配置密钥权限 ```bash mkdir -p /home/git/.ssh chmod 700 /home/git/.ssh cat >> /home/git/.ssh/authorized_keys <<EOF [粘贴客户端公钥内容] EOF chmod 600 /home/git/.ssh/authorized_keys ``` ### 四、创建Git仓库 1. 新建裸仓库 ```bash mkdir -p /home/git/repos/project.git cd /home/git/repos/project.git git init --bare ``` 2. 设置权限 ```bash sudo chown -R git:git /home/git/repos ``` ### 五、内网部署配置 1. 配置SSH访问地址(可选) ```bash # 在/etc/hosts中添加内网DNS解析 192.168.1.100 git-server ``` 2. 防火墙设置 ```bash sudo ufw allow 22/tcp ``` ### 六、使用示例 1. 客户端克隆仓库 ```bash git clone git@git-server:/home/git/repos/project.git ``` 2. 首次提交代码 ```bash cd project echo "# My Project" >> README.md git add . git commit -m "Initial commit" git push origin main ``` 3. 其他开发者同步代码 ```bash git pull origin main ``` ### 注意事项 1. 仓库路径建议使用绝对路径,如`git@ip:/home/git/repos/project.git`[^2] 2. 所有仓库需保持裸仓库格式(--bare参数创建) 3. 建议禁用git用户的shell登录(修改/etc/passwd中git用户的shell为`/usr/bin/git-shell`)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值