搭建git服务器(Centos7)

1.安装Git及创建用户
1)安装Git (很多linux自带git)
yum install git

2)创建一个git用户组和用户,用来运行git服务
groupadd git
adduser git -g git
passwd git

3)禁止用户git登录:(学习阶段可省略)
修改/etc/passwd文件,
vim /etc/passwd
找到: git:x:503:503::/home/git:/bin/bash
改为: git:x:503:503::/home/git:/bin/git-shell

2.创建证书登录
mkdir /home/git/.ssh
chmod 700 /home/git/.ssh
touch 700 /home/git/.ssh/authorized_keys
chmod 600 /home/git/.ssh/authorized_keys
注意,如果是采用的sudo方式来创建git和相应的文件的,需要设置/home/git/.ssh/的owner为git,否则还是每次要输入密码的。

owner改为git:
sudo chown -R git:git /home/git/.ssh/

编辑/home/git/.ssh/authorized_keys,把客户端的公钥放进去,1个公钥1行。
每个用户都要创建私钥,文件位于用户主目录里找到.ssh目录,里面有id_rsa(私钥)和id_rsa.pub(公钥)两个文件。如果没有可以删除.ssh文件夹,使用下面命令重新创建:
ssh-keygen -t rsa -C "youremail@example.com"
将生成的公钥放入到服务器中的/home/git/.ssh/authorized_keys目录中去
vim /home/git/.ssh/authorized_keys

3.初始化Git仓库
cd /srv
mkdir gitrepo
chown git:git gitrepo/
cd gitrepo
创建一个空的Git仓库,服务器上的Git仓库通常都以.git结尾
git init --bare project.git
将仓库所属用户改为git
chown -R git:git project.git

4.克隆仓库
在另一台电脑上(下面称为:Client),安装git,并且运行下面的命令:在这公网ip地址可以改成www.chengcheng.kim(自己的域名)
git clone git@192.168.0.107:/srv/gitrepo/project.git

5.验证安装
1)推送到远程服务器
在本地Client的project目录下,创建一个文件:text.txt,内容随意,然后上传到服务器
git push origin master
2)检验
在本地Client的另外一个目录下,克隆一下:
git clone git@192.168.0.107:/srv/gitrepo/project.git
看看text.txt是否存在,内容是否对。

6.常用的Git命令
git init //初始化本地git仓库
git add //添加文件
git add *.html //添加一类文件
git add . //添加所有文件
git status //查看状态
git commit //提交
git commit -m ''提交并注释 (这样就可以不用进入到编辑页面了)
git push //从远程仓库考取数据
git clone //从远程仓库拷贝数据
git config --global user.name'张宜成' 配置用户名
git config -- global user.email 'chengchengzhang123@qq.com' 配置邮箱
git rm --cached 文件名 //从add工作区中删除
git branch 分支名 (创建分支)
git checkout 分支名 (切换到你的分支中)
git checkout master(切换到主分支)
git merge 分支名(在master主分支下使用 将分支合并到主分支)
git remote 查看连接
git remote add origin 链接 (创建链接)
git remote remove 名称(删除remote)
git clone 将服务器端的项目克隆岛本地仓库
touch .gitignore 忽略需要上传的文件(将要忽略的文件放到该文件夹)
touch.gitignore 忽略文件(/文件名)
README.md文档 git对项目进行描述
git push origin master //推送到远程仓库

原文地址:https://www.cnblogs.com/bdzxh/p/14031665.html