git实战案例

[文章作者:磨延城 转载请注明原文出处: https://mo2g.com/view/25/ ]

因为公司有拓展业务的需求,综合考虑后我通过git搭建了一个多人协作开发的环境.

因为公司有拓展业务的需求,综合考虑后我通过git搭建了一个多人协作开发的环境。

搭建git环境后,后续工作流程的简单说明:

1)线上网站运行在服务器上的/www路径下,访问地址为mo2g.com

2)git仓库运行在服务器上的/git路径下,访问地址为git.mo2g.com

3)参与开发的人员,各自在本机搭建运行环境,通过git获取最新数据,在本地测试无误后,更新到服务器上git仓库

4)当新增的功能全部上传到git服务器上后,访问git.mo2g.com,寻找并修复BUG,一般情况下同步更新数据后,只要本地测试通过,那么git服务器上的程序就没有问题

5)直到确认git.mo2g.com使用正常,才在服务器上的/www路径下通过git pull拉取数据

接下来介绍,如何在centos 6.3系统搭建git环境,其他系统其实大同小异

一:安装git

yum install git

二:初始化git仓库

mkdir /git      #创建仓库目录
cd /git         #进入仓库目录
git init        #初始化git目录,该命令会在当前目录下生成.git文件夹
cd .git         #进入.git目录
vi config       #编辑config文件
#在文件最后添加下边两行
[receive]
denyCurrentBranch = ignore#允许客户端提交更新,这很关键,一会说明
cd hooks           #进入hooks钩子目录
vi post-receive    #如果不存在该文件就新建一个,并添加如下内容,该文件很关键,一会说明
#!/bin/sh
cd ..
env -i git reset --hard

三:添加专门使用git服务的git用户

useradd git       #添加用户
passwd    git     #设置git用户密码
vi /etc/passwd    #编辑git用户
#在文件末尾,找到类似这样的内容
git:x:500:500::/home/git:/bin/bash
#把 bin/sh 改为 /usr/bin/git-shell (或者用 which git-shell 查看它的位置)。
#该行修改后的样子如下:
git:x:500:500::/home/git:/usr/bin/git-shell#这样能限制git用户的功能权限,当有人试图用git用户通过ssh连接服务器,服务器会拒绝该请求。

四:线上正是环境克隆git仓库

cd /            #切换到根目录
mkdir www       #创建www目录
cd www          #进入www目录
git clone /git  #克隆/git目录

五:公钥密匙

ssh-keygen -t rsa    #生成公钥密匙,可以一直按3次回车,使用默认配置
cd ~/.ssh/           #进入当前用户的.ssh目录,生成公钥密匙默认会保存在这里
cat id_rsa.pub >> /home/git/.ssh/authorized_keys    #把生产的公钥写入git用户的authorized_keys文件,这是免密码的关键


然后把生成的id_rsa下载回来,如果是Linux系统,就直接放在~/.ssh下,就能免密码使用git,如果是window系统,那请往下看

六:window使用git

msysgit下载地址:http://msysgit.github.io/

下载当前最新版本Git-1.8.3-preview20130601.exe

tortoisegit下载地址:http://download.tortoisegit.org/tgit/

根据自己的操作系统下载32位或64位tortoisegit,如果不喜欢英文,可以下载对应中文语言包

1)安装Git-1.8.3-preview20130601.exe

2)安装TortoiseGit-1.8.3.0-64bit.exe

3)安装TortoiseGit-LanguagePack-1.8.3.0-64bit-zh_CN.msi

4)汉化TortoiseGit,进入D盘,创建一个文件夹git,在git文件夹空白处单击右键,TortoiseGit -> Settings,选中General汉化git界面11,在对话框右侧更改 English 为 中文(简体) (中华人民共和国),确定后,即完成汉化汉化git界面2

5)设置TortoiseGit名称与email设置用户邮箱2

6)生成TortoiseGit能用的密匙,点击开始菜单 -> 所有程序 -> TortoiseGit -> Puttygen

puttygen生成公匙

puttygen生成公匙2

,点击界面中的Load按钮,然后选择下载回来的id_rsa,最后点击Save private key保存密匙,这里我保存为mo2g.ppk

puttygen生成公匙3

7)git克隆,git克隆1URL填写格式为 ssh://用户名@服务器IP地址:端口(不填就用默认的22)/服务器绝对路径,例如: ssh://git@127.0.0.1/git;加载putty密匙,选中刚才生成的mo2g.ppk,点击确定,就开始复制数据了。

8)试着新建一个文件mo2g.txt,然后内容随便填写,然后右键 -> Git 提交 -> 推送 -> 确定

git提交1

git提交2

git提交3

。到此新建的mo2g.txt就上传到git服务器上了,这里要说说,如果之前没有往hooks里添加post-receive文件,git目录是不会自动显示mo2g.txt文件的,必须得手动执行git reset --hard

到这里,git服务器算是搭建完成了,其实并不是很困难,关键是后期的使用,维护了。


常用分支命令

1)查看分支:git branch

2)创建分支:git branch name

3)切换分支:git checkout name

4)创建并切换分支,等效与2 + 3:git checkout -b name

5)合并指定分支到当前所在分支:git merge name

6)删除分支:git branch -d name

推荐一个比较好的Git教程:史上最浅显易懂的Git教程!

评论:

  1. 西门塔尔牛 回复2015年06月08日 01时09分
    磨者
    不错的文章,内容维妙维肖.禁止此消息:nolinkok@163.com
    西门塔尔牛 http://www.xmten.com/

  2. unknown 回复2015年06月08日 21时27分
    磨者
    不错的文章,内容言简意赅.禁止此消息:nolinkok@163.com
    肉牛 http://www.xmten.com/

  3. 我来说两句:

      切换  

    磨途歌检测发现,您当前使用的浏览器版本过低,要想使用画板模式,请先更新浏览器

      切换  

    磨途歌随机验证码