CentOS搭建git服务器

1. 安装git

  一般服务器都自带git。如果嫌版本低,可以选择卸载重装。我觉得自带的就够了。

2. 创建用户git

groupadd git
adduser git -g git

3. 创建authorized_keys文件

复制代码
cd /home/git
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
cd /home
chown -R git:git git
复制代码

要注意的是文件权限和所属用户。

(后续的git clone如果需要密码,很有可能是git用户没有访问authorized_keys文件的权限)

4. 客户端创建密钥并上传

看清楚了,要在客户端运行如下命令。

ssh-keygen -t rsa -C "your_email"

该命令会产生两个文件: id_rsa对应私钥,id_rsa.pub对应公钥。

将id_rsa.pub中的内容写到服务器的authorized_keys文件中。

如果有多个客户端,那么在authorized_keys文件中,一行保存一个客户端的公钥。

特别注意点:

1.git上的仓库对git用户要有写权限,同时需要将/etc/ssh/sshd_config中将RSA认证打开,即

[plain]  view plain  copy
  1. RSAAuthentication yes  
  2. PubkeyAuthentication yes  
  3. AuthorizedKeysFile .ssh/authorized_keys  

2./home/git属于git用户所有,且权限为755即drwxr-xr-x。
3.确保.ssh/authorized_keys中每个用户的id_rsa.pub(公钥)为ssh-rsa开头。

5. 创建git仓库

为了方便管理,所有的git仓库都置于同一目录下,假设为/home/gitrepo,

cd /home
mkdir gitrepo
chown git:git gitrepo

接下来,创建我们的第一个git仓库:sample.git,

cd gitrepo
git init --bare sample.git

最后一步,把仓库所属用户改为git。

chown -R git:git sample.git

到此,git服务器搭建完毕。

 

git push 本地项目推送到远程分支

大家有的时候,会在本地新建项目,这里说一下在本地项目建立本地git仓库,然后push到远程仓库的步骤

1.在本地项目的文件夹下,git仓库初始化

git init

  初始化本地git仓库 

 

2.

git add * 

将本地文件索引添加至git库中

3.

git commit -m "first" 
# -m 后为提交日志

4.

git branch

可查看本地仓库分支,发现会出现一个master的分支

5.配置远程仓库

git remote add test http://xxxx@git.XXXX.com/scm/wbqa/xxxx.git
# test 为远程仓库别名  后面http 为远程仓库地址

6.配置完成后,可使用 git remote -v 命令查看是否生效

7.使用push命令,将代码提交到远程对应分支

$ git push <远程主机名> <本地分支名>:<远程分支名>

git push test master:jenkinsapi

#test 为设置的远程仓库别名,master为本地分支名,jenkinsapi为远程分支名

若没有配置远程仓库用户名与密码,push代码时会让输入用户名与密码,成功后将会出现如下信息,可使用git config 命令配置

复制代码
Counting objects: 20, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (16/16), done.
Writing objects: 100% (20/20), 2.63 MiB | 6.97 MiB/s, done.
Total 20 (delta 0), reused 0 (delta 0)
remote: 
remote: Create pull request for jenkinsapi:
remote:   http://git.xxxxxxx.com/projects/WBQA/repos/xxxxxxx_api_xxxx_api_case/compare/commits?sourceBranch=refs/heads/jenkinsapi
remote: To http://git.xxxxxxx.com/scm/wbqa/xxxxxxx_api_xxxxx_api_case.git
 * [new branch]      master -> jenkinsapi
复制代码

8.此时查看远程仓库,会发现多了一个以jenkinsapi 命名的分支

PS:

  以后每创建一个新的仓库,记得最后一步操作: 修改仓库所属用户为git


转载:

https://blog.csdn.net/u014621130/article/details/70676754

https://www.cnblogs.com/gattaca/p/6252416.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值