在centos系统云服务器搭建git远程仓库与本地操作远程仓库
待补充:实现客户端公钥克隆远程服务器项目、禁止git用户通过shell登录
1、部署环境
1.1、阿里云服务器环境
查看系统信息、发行版
# uname 用于显示系统信息
uname --help
uname -a
uname --machine
uname -o
# linux系统显示发行版信息
lsb_release -a
1.2、电脑端环境
操作系统:macos 10.13.6
2、服务器初始化远程仓库
2.1、服务器shell操作流程
2.2、服务器安装git工具
rpm -qa 查询所有已安装的软件包
yum install 安装软件包
# 查询是是否安装git软件包
rpm -qa git
# 安装git软件包,需要连接网络
yum install git
2.3、服务器创建git账户
通过linux命令创建git账户、设置密码
sudo useradd git # 创建git账户
sudo passwd git # git账户设置密码
# userdel git # 删除git账户,但git账户谬不会存在
2.4、在git账户目录下生成公私钥并添加客户端公钥
使用ssh-keygen工具在git账户目录下生成公私钥,创建authorized_keys文件存放客户端公钥(未能实现ssh公钥登录)
su git # 切换git账户
ssh-keygen -t rsa
touch .ssh/authorized_keys
vim .ssh/authorized_keys # 打开authorized_keys文件可添加客户端公钥
2.5、创建git仓库并给git用户添加该仓库权限
使用root账户创建代码仓库、并进行初始化,然后向git账户添加权限
exit # 退出git账户,在root账户中操作
mkdir /home/git/test/
mkdir /home/git/test/my.git
cd /home/git/test/my.git
git init --bare # 初始化
cd /home/git/
chown -R git:users test/ # 给users用户组的git账户添加对该文件的权限
3、客户端操作远程仓库
3.1、克隆远程仓库my.git项目到本地、修改、推送到服务器
# 克隆远程服务器仓库上的my.git项目,需要输入git账户密码
git clone ssh://git@ip/home/git/test/my.git
cd my/
touch test.py
git add .
git commit -m "ADD: test"
git status
git branch
git push
3.2、本地操作分支
本地创建分支、修改、合并到本地master分支
git checkout -b yxt/test # 创建分支
touch test2.py
git add .
git status
git commit -m "ADD: test2"
git checkout master
git merge yxt/test
推送分支到远程仓库、推送master分支到远程仓库
git push # 推送到远程master分支
git branch
git checkout yxt/test
git push -u origin yxt/test # 推送到远程yxt/test分支,若不存在则创建分支