Git 是分布式版本控制和源代码管理系统,重点使用和管理代码的速度。
1、安装git服务器(server端)
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel autoconf python-setuptools -y
cd /opt
tar -xzf git-2.10.1.tar.gz
cd git-2.10.1/
autoconf
./configure
make
make install
ln -s /usr/local/bin/git /usr/bin/
git --version
# git version 2.10.1
2、安装gitosis(gitosis为Git用户权限管理系统)(server端)
useradd -m git
passwd git
mkdir -p /home/repo
chown git:git /home/repo
chmod 755 /home/repo
git config --global user.name "myname"
git config --global user.email "myname@localhost"
cd /tmp
git clone git:///res0nat0r/gitosis.git
cd /tmp/gitosis
python setup.py install
su - git
ln -s /home/repo /home/git/repositories
exit
3、Client 上创建密钥(git client)
ssh-keygen -t rsa 一直回车
vi /etc/ssh/ssh_config (注:scp上传慢配置)
27行 #去掉
GSSAPIAuthentication no
scp ~/.ssh/id_rsa.pub root@192.168.1.13:/tmp/
4、在Git Server上生成git用户(server端)
chmod a+r /tmp/id_rsa.pub
cd /tmp/gitosis/
sudo -H -u git gitosis-init < /tmp/id_rsa.pub
cd /home/git/repositories/gitosis-admin.git
chmod 755 /home/repo/gitosis-admin.git/hooks/post-update 两个目录下的权限一致su - git
cd ~/repositories
mkdir teamwork.git
cd teamwork.git
git init --bare
exit
5、客户端导出管理(git client)
yum install git -y #git-1.7.1-9.el6_9.x86_64.rpm
mkdir -p /git-repo/
cd /git-repo/
git clone git@192.168.0.13:gitosis-admin.git
cd gitosis-admin/
ls keydir/ #查看已经上传密钥
#root@localhost.localdomain.pub
6、客户机上创建及设置管理项目(git client)
cd /git-repo/gitosis-admin
vi gitosis.conf
[group team]
writable = teamwork
members = root@localhost.localdomain
7、加入新文件、提交并push到git服务器(git client)
cd /git-repo/gitosis-admin(新项目添加提交到服务器都要配置)
git add .
git commit -am "add teamwork prj and users"
git push origin master
返回git server服务器,查看配置文档是否同步:
cd /home/repo/gitosis-admin.git
8、初始、增加及使用项目git-test(git client)
cd /git-repo/gitosis-admin
vi gitosis.conf
[group test]
writable = git-test
members = root@localhost.localdomain
git add .
git commit -am "add test prj and users"
git push origin master
cd /git-repo
mkdir git-test
cd git-test
git init
touch README
git add .
git commit -a -m "init git-test"
git remote add origin git@192.168.1.13:git-test.git
git push origin master
9、Git常用命令
1. git branch 查看本地分支
2. git branch -a 查看远程分支
3. git checkout branchname 切换分支
4. git addyourfile
5. git commit -a -m "描述"提交你当前开发到暂存区,可以理解为你本地的GIT库
6. git pull 更新,如果几个人同时在一个分枝上开发,可能会造成不同步,造成自己本地的GIT库落后或提前远程GIT库,这时候就要更新自己本地的库。
7. git push提交,将自己开发的代码提交到对应的远程分之上去
8. git status 查看工作区状态,及查看在此分支上进行了那些操作
9. git log查看操作日志,还是挺有用的
10. git merge 合并分支,自己开发的模块最终要合并到项目的总分枝上去,这是要先切换到项目总分支,然后 git merge 自己的分支
11. git branch -d/D yourbranch 删除本地分支
12. git push origin :yourbranch 删除远程分支
13. git init重新初始化仓库