git搭建及分支管理

搭建git服务器

cnetos7自带git,若需要其他版本可自行安装。

  • 创建一个git用户组和用户,用来运行git服务
groupadd git
useradd git -g git
  • 创建证书登录

收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里。如果没有该文件创建它

cd /home/git/
mkdir .ssh
chmod 755 .ssh
touch .ssh/authorized_keys
chmod 644 .ssh/authorized_keys
  • 本地创建、上传密钥

前提,本地win已安装git,git bash后输入

ssh-keygen -t rsa

 id_rsa.pub就是我们要的公钥

  • rz上传密钥到/home/git

服务端添加公钥

sudo sh -c "cat id_rsa.pub >> .ssh/authorized_keys"
  • 初始化Git仓库

首先我们选定一个目录作为Git仓库,假定是/home/gitrepo/test.git,在/home/gitrepo目录下输入命令

cd /home
mkdir gitrepo
chown git:git gitrepo/
cd gitrepo

git init --bare test.git

以上命令Git创建一个空仓库,服务器上的Git仓库通常都以.git结尾。

仓库操作

  • 本地win上新建一个文件夹git1,clone
git clone [email protected]:/home/gitrepo/test.git

你需要将其修改为你自己的 Git 服务 ip,这样我们的 Git 服务器安装就完成。

git搭建及分支管理_第1张图片

  •  push

第一次push需要设置用户邮箱和名字,随便设置

进入test文件夹,新建一个文本文档

git config --global user.email "[email protected]"
git config --global user.name "Your Name"

git add -A
git commit
  • 再clone

新建一个文件夹git2

git clone [email protected]:/home/gitrepo/test.git

说明成功了。 

分支管理

  • 默认有一个master分支 

  • master分支只有一个文件1.txt 

  • 新建分支test1
git branch test1
  • git branch查看分支

  • 切换到test1分支并新增一个2.txt文件,提交
git checkout test1

在git1/test文件夹下,右键新建一个2.txt

git add -A

git commit

  •  切换到master发现还是只有一个1.txt文件,再合并分支test1到主干

 git搭建及分支管理_第2张图片

避坑指南

如果后面再搭建个gitlab后,你会发现clone的时候每次都要输入密码,且密码不论输入什么都不行,那是因为gitlab会自动创建5个用户包括git!!

然后密码我们又是不知道的,坑了我一下午!!

passwd git改下密码就好了!!

你可能感兴趣的:(运维,git)