centos6.5搭建GIT服务器

1. 登录服务器安装

#yum install perl openssh git

装不上,那就装下面的依赖

#yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel

2.建立一个用户

#adduser --system --shell /bin/sh --create-home --home-dir /home/git git

 #cd /home/git

#mkdir repositories

#chown git:git -R ./repositories

#chmod 700 ./repositories

3.切换至刚建的git用户

#su git

#git clone git://github.com/sitaramc/gitolite

#mkdir -p $HOME/bin

#gitolite/install -to $HOME/bin

这里可能会报错缺少模块,就需要 切换到root 安装缺失模块.比如perl-Time-HiRes 

#yum install perl-Time-HiRes

#su git

#gitolite/install -to $HOME/bin

然后这里安装的就完了.

本机, 本机我这里是Mac,

#ssh-keygen -t rsa //不需要密码一路回车

#cd ./.ssh

里面有id_ras.pub 和id_rsa ,一个是公钥,一个是私钥. 如果之前你装过openssl产生过密钥,那这里就不要覆盖了

复制到服务器的/tmp

#scp ~/.ssh/id_rsa.pub server_username@server_host:/tmp

输入密码回到服务器, 

#cd /tmp

#mv id_rsa.pub admin.pub 

为什么要改成admin.pub 因为gitolite根据这个文件名来设立帐号.我这里用admin

#su git 切换到git用户

#$HOME/bin/gitolite setup -pk admin.pub

然后去/home/git/repositories 里面,可以看见仓库文件.gitolite-admin.git 和test.git 一个是管理仓库的,一个是测试用

本机拉服务器代码

#git clone git@server_host:gitolite-admin

进入仓库后可以看到conf 和keydir ,conf/gitolite.conf 是添加用户/仓库的配置, keydir 是放对应用户的公钥.

修改好后可以直接push了.

debian的和上面一样,唯一需要注意的adduser 的参数不同

#adduser --system --shell /bin/sh --home  /home/git git 


获取并配置gitosis-admin
### 在本地执行,获取gitosis管理项目
$git clone git@xxx:gitosis-admin.git  
$vi   gitosis-admin/gitosis.conf   # 编辑gitosis-admin配置文件
###在gitosis.conf底部增加
@devgroup = admin ##这里的用户名字

repo myrepos
  RW+ = @devgroup

## VI下按ZZ两次会执行自动保存并退出,完成后执行
$ git commit -a -m “xxx xx” 
## 要记住的是,每次添加新文件必须执行git add .或者git add filename。
## 修改了文件以后一定要PUSH到服务器,否则不会生效。
$ git push

如何使用git创建项目(本地)

1. 建立一个存放工程的文件夹
2. git init 命令用于初始化当前所在目录的这个项目
3. 创建项目文件
4.  git status  查看项目状态
5. git add .    给这个项目制作一个快照 snapshot (快照只是登记留名,快照不等于记录在案, git 管快照叫做索引 index)
6.  git commit 用于将快照里登记的内容永久写入 git 仓库中
  直接提交 git commit -a -m "注解"
注意: 无法把新增文件或文件夹加入进来,如果你新增了文件或文件夹,那么就要先 git add  git commit
7. git log -p 确认日志



1. 服务器建立repos (见上述服务器设置)
2.  git remote add   [shortname]  git@server_addr:myrepos.git
3.  git push  [shortname]  master
也可以2、3不合并直接  git push git@ server_addr:myrepos.git  master

查看远程仓库信息

git remote show [remote-name]

返回信息:

* remote [remote-name]

  Fetch URL: git@192.168.10.1:myrepos.git

  Push  URL: git@192.168.10.1:myrepos.git

  HEAD branch: master

  Remote branch:

    master tracked

  Local ref configured for 'git push':

    master pushes to master (up to date)

#它告诉你如果是在 master 分支,就可以用 

git pull 命令抓取数据合并到本地

远程仓库的删除和重命名
git remote rename  [shortname]
命令修改某个远程仓库的简短名称
移除对应的远端仓库,可以运行 
git remote rm 
  [shortname]


=============================================

意思是需要使用ssh来连接git 服务器,
使用命令 ssh -v git@git-server
之后打开

/etc/ssh/ssh_config
找到
 GSSAPIAuthentication no 这句话,将其放开
OK,再试一下,果然快了很多

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值