Git服务器构建(Fedora16)


参考:
http://git-scm.com/book
所有操作都是root用户
1,安装
ssh远程登陆服务器,安装配置git服务器
yum install git-core openssh-server openssh-client

2,添加新用户git, 该用户将作为所有代码仓库和用户权限的管理者:
useradd -m git
passwd git
3,安装配置gitosis
安装pythontool,准备gitosis安装
yum install python-setuptools

gitosis会将git仓库放在 git用户home目录下的repositories中,
所以要事先建立一个该目录的链接使仓库放在自己的地方
mkdir /home/git/repositories
ln -s /home/git/repositories  /gitserver

然后以git身份登录服务器,
下载gitosis
git clone https://github.com/res0nat0r/gitosis.git
cd gitosis
sudo python setup.py install

3,在自己工作的电脑上生成ssh公钥,用scp拷贝到服务器
生成ssh公钥的命令:
ssh-keygen -t rsa
拷贝到服务器的命令:
scp .ssh/id_rsa.pub git@servername:/tmp
这里git是指git用户,servername就是服务器地址
4,在服务器上,切换到git用户
git用户操作服务器,改变公钥属性
   sudo chmod a+r /tmp/id_rsa.pub
   git gitosis-init < /tmp/id_rsa.pub
   sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
这时应该会生成一个gitosis-admin.git
5,在回到自己工作的电脑上来clone这个库
git  clone git@servername:/gitserver/gitosis-admin.git
   vim gitosis.conf  //修改配置文件
   git commit -am "test"   //此处的提交只是提交到本地,所以和远程务器是不同步的
   git remote add origin git@servername:/git/gitosis-admin.git   //增加远程服务器
   git push origin master  //将改变push  到远程务器上
如果这个不行,就用git push origin +master
6,在服务器新建一个库
首先在服务器端
cd /gitserver   //我的工程目录
      mkdir test.git
      git  init --bare
然后在工作电脑就可以clone了
git clone git@servername:/gitserver/test.git

git操作的一些命令:
git status  查看变动的文件
git diff --cached  查看已做的修改
git log  查看日志
git log -p 查看详细修改的日志
git revert  [commit ID] 撤消某次提交
git reset [commit ID]  回复当前分支到一个原先的版本。版本号可以用 git log 查看,也就是提交的 ID 号。在commit [ I D ]

想具体了解,请参考开头提到的那本书。后面我会写些读书笔记。

猜你喜欢

转载自ericchan2012.iteye.com/blog/1668136