需求: 在一个centos server 中对某个目录进行git 版本控制
初始条件:该centos 上已经安装了git ,并创建了git user.
求解步骤:
1. ssh 秘钥相关
S1: 产生秘钥对: centos 上执行: ssh-keygen -t rsa, 会生成id_rsa.pub 和id_rsa
S2: 将产生的id_rsa copy 到git 的client , 我这里是windows 系统,用git.exe 里 pwd 是:c/user/Administrator/.ssh/
S3:将产生的id_rsa.pub, 追加到/home/git/.ssh/authorized_keys 这个文件里
sudo cat id_rsa.pub >>/home/git/.ssh/authorized_keys
2. 初始化git 仓库 (git server 端)
s1: cd blog.git
s2: git init
s3: git add blog // add 你要进行版本控制的folder
s4: git commit -m 'initial project'
S5:把当前folder, 也就是 blog 的上一层folder blog.git 改成 git 属主
sudo chown -R git:users blog.git //因为我们需要dev 的人都是属于users 这个group
sudo chmod -R g+ws *
sudo git config core.sharedRepository true
客户端使用:
S1: git config --global user.name xxxxx
S2: git config --global user.email xyz@tec.com
S3: git clone xxxxx@server_ip:/labs/project/blog.git ///labs/project/blog.git 是server 端需要版本控制的目录添加或者修改一些文件
git diff
git add .
git commit -m "对此次修改的说明"
git push origin master //origin 是远程branch ,master 是本地的branch
git server 端获取client 的更新:
git reset --hard //使能客户端的push可见
删除远端文件:
git rm -f *.pyc
git diff
git commit -m "xxxx"
git push origin master
参考:
http://www.cnblogs.com/ToDoToTry/p/3956687.html
http://blog.jobbole.com/25808/
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000