Ubuntu 创建Git远程仓库

Ubuntu上搭建Git服务器教程
本文详细介绍了在Ubuntu系统上安装配置Git服务器的过程,包括安装Git、初始化设置、创建SSH密钥对实现免密码登录、创建远程仓库及客户端克隆等关键步骤。

1.安装git

在Ubuntu上安装git

sudo apt-get install git

2.初始化git 

#告诉git,自己的名字与邮箱
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

3.创建git用户

adduser git 

#此后需要输入密码与确认密码

4.进入git 用户home,并创建相应的ssh文件,用于客户端免密码登陆时使用

#进入git用户目录
cd /home/git/

#创建.ssh目录,客户端的公钥存在此目录文件中
mkdir .ssh

#创建authorized_keys文件,客户端的公钥存在此文件中
cd .ssh
touch authorized_keys

#赋权
chmod 755 .ssh

#更改文件以及其内文件的所属用户以及用户组
chown -R git:git .ssh/


5.在客户端生产私钥与公钥,并复制追加到Ubuntu服务器的/home/git/.ssh/authorized_keys文件中

打开cmd.exe,,输入:

# -C 指定自己的邮箱,与git config --global user.email "email@example.com"时候,指定的邮箱要一致
ssh-keygen -t rsa -C "email@example.com"  #在用户的.ssh目录下生成公钥与私钥

用notepad++打开id_rsa.pub文件,并复制到/home/git/.ssh/authorized_keys目录中

以后再客户端进行克隆、提交等操作,就不会需要密码。

6.在Ubuntu上创建远程仓库

#切换到git用户,防止要修改文件夹的宿主
su git 

#进入用户目录
cd /home/git 

#创建远程仓库,仓库名字是mytest
git init --bare mytest

7.客户端克隆远程仓库,并进行添加文件,提交到远程仓库

#克隆远程仓库     账户@ip:远程仓库目录
git clone git@139.168.1.202:/home/git/mytest

在仓库中的基本操作,如果不熟悉,可查看博客:Git 本地仓库常用操作_兮川的博客-优快云博客

在本地常见文件,并提交到远程仓库

#创建readme.txt文件,并输入任何文字

#查看仓库状态
git status 

#提交到暂存区
git add . 

#提交到本地仓库
git commit -m 'first commit'

#提交到远程仓库
git push origin master

远程仓库操作其实很简单,就是需要理解,操作起来非常简单。

 github上有我更多的笔记:Raray-chuan (兮川) · GitHub,欢迎stars与following,如果有问题可以在issue中向我咨询

关注我的公众号,获取更多关于后端、大数据的知识

<think>好的,我现在要帮用户解决在内网环境中搭建Git远程仓库的问题。首先,用户的需求是明确的,他们需要在内部网络中设置一个远程Git仓库,可能用于团队协作或者代码管理。我需要根据已有的引用和知识来整理步骤,确保方法正确且易于理解。 首先,回忆一下引用中的内容。引用[3]提到在本地创建仓库并使用文件协议,引用[2]说明了如何在本地建立仓库并与远程分支绑定,引用[1]则涉及使用cpolar进行内网穿透,但用户这次的问题可能不需要公网访问,所以可能先不考虑这部分。不过,用户提到的是内网环境,所以可能需要局域网内的访问,比如通过SSH或HTTP协议。 接下来,步骤应该是先安装Git,这在Linux服务器上是必须的。然后创建仓库,因为裸仓库适合作为中央仓库,没有工作目录,节省空间且更安全。用户可能需要不同的访问方式,比如SSH或者HTTP,所以需要分别说明。例如,SSH方式需要配置用户账户和权限,而HTTP可能需要配合Web服务器如Apache或Nginx,但可能更复杂,所以可能先介绍SSH方法。 然后,关于客户端的配置,用户需要知道如何将本地仓库远程仓库关联,进行克隆、推送等操作。这部分需要给出具体的命令示例,比如git remote add和git push等。 可能还需要考虑权限管理,比如使用SSH密钥认证,或者结合Gitosis、Gitolite等工具,但用户的问题可能只需要基础搭建,所以先保持简单,提到后续可以扩展。 另外,引用[2]提到在本地创建仓库并与远程分支绑定,所以需要确保用户明白在客户端如何设置远程仓库地址。同时,引用[3]中的--bare和--shared参数很重要,需要解释清楚,确保仓库可以被多个用户访问。 检查是否有遗漏步骤,比如防火墙设置,内网IP的正确配置,以及仓库路径的共享权限。例如,在Linux上可能需要设置目录权限为可读写,或者配置SSH的访问权限。 最后,生成相关问题,需要考虑用户可能的后续疑问,比如权限管理、迁移仓库、与其他工具集成等,这样帮助用户进一步探索。</think>### 内网搭建Git远程仓库的详细步骤 #### 一、基础环境准备 1. **选择服务器** 在内网中选取一台Linux/Windows服务器作为中央仓库主机,确保稳定运行且能被内网设备访问。 *示例:Ubuntu服务器IP为192.168.1.100* 2. **安装Git** 在服务器和客户端设备上安装Git: ```bash # Linux系统 sudo apt-get update && sudo apt-get install git # Windows系统下载Git for Windows安装包 ``` --- #### 二、创建仓库(核心步骤) 1. **服务器端操作** 在服务器上创建**裸仓库**(无工作目录,专用于共享): ```bash mkdir -p /opt/git/myrepo.git && cd /opt/git/myrepo.git git init --bare --shared # --shared确保多用户权限[^3] ``` 2. **设置目录权限(Linux)** 若使用SSH协议,需确保用户组权限正确: ```bash sudo chown -R git:git /opt/git/myrepo.git # 假设git为共享用户 ``` --- #### 三、配置访问协议(两种常用方式) **方案1:SSH协议(推荐)** - **服务器端** 创建专用SSH账户(如`git`用户),客户端通过密钥认证访问: ```bash sudo adduser git # 创建git用户 sudo su git mkdir ~/.ssh && chmod 700 ~/.ssh touch ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys ``` - **客户端操作** 1. 生成SSH密钥对(若已有可跳过): ```bash ssh-keygen -t ed25519 # 默认保存到~/.ssh/ ``` 2. 将公钥`id_ed25519.pub`内容追加到服务器的`git`用户`authorized_keys`文件中 **方案2:文件协议(仅限同主机)** 适用于本地快速测试,直接使用文件路径访问: ```bash git remote add origin file:///opt/git/myrepo.git # Linux示例 ``` --- #### 四、客户端连接与使用 1. **克隆远程仓库** ```bash git clone git@192.168.1.100:/opt/git/myrepo.git # SSH协议示例 ``` 2. **推送代码** ```bash cd myrepo touch README.md git add . && git commit -m "Initial commit" git push -u origin master # 首次推送需指定上游分支[^2] ``` --- #### 五、扩展配置(可选) - **HTTP协议访问** 配合Nginx/Apache搭建GitWeb服务,需启用`git-http-backend` - **权限管理工具** 使用Gitolite或Gitosis实现细粒度权限控制 - **仓库迁移** 直接复制裸仓库目录到新服务器,保留所有版本历史 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值