在Windows环境中使用版本管理工具Git
2011-5-6
Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码
的管理。在推出后,Git在其它项目中也取得了很大成功,目前很多知名项目都使用了Git。
一、为什么选择Git
对于流行的软件版本开源管理软件,元老级的CVS、后来新秀的SVN, GIT的优势又在
哪里呢?
1. 傻瓜都会的初始化,git init, git commit -a, 就完了。
2. 绝大部分操作在本地完成,只有最终完成的版本才需要向代码管理服务器提交。
3. 每次提交都会对所有代码创建一个全球唯一的commit id。
4. branch管理容易多了,无论是建立新的,还是切换都一条命令完成。
5. branch之间merge时,不仅代码会merge在一起,check in历史也会保留。
其他特点:
1、更方便的 Merge
2、更方便的管理
3、更健壮的系统
分布式系统一般情况下总是比单服务端的系统要健壮,因为但服务端一旦服务器挂掉
了整个系统就不能运行了。然而分布式系统通常不会因为一两个节点而受到影响。
4、对网络的依赖性更低
5、更少的“仓库污染”
二. 取得Git, 可以从下面的链接下载得到。
- windows系统需要安装 msysgit http://code.google.com/p/msysgit/
downloads/list
- Linux需要安装 git http://git-scm.com/download
- MacOSX需要安装 git-osx-installer http://code.google.com/p/git-osx-
installer/downloads/list?can=3
三、安装 msysgit
双击下载的文件,启动安装过程,都按照默认选项,一路下一步完成安装。
双击git安装程序,即可出现安装窗口
选择安装目录
选择环境设置
选择换行格式
下一步继续安装
完成安装
这个时候已经可以使用git了, 打开git bash可以进入linux shell, 可以使用git命令进行各种操作, 由于大家都习惯使用图形界面的 TortoiseSVN, 下面介绍使用 TortoiseSVN的类似软件 TortoiseGit , 使用习惯相同,大家应该比较容易使用.
四、安装 tortoisegit
tortoisegit 是TortoiseSVN的Git版本,方便window用户使用图形化界面工具操作
Git管理之下版本库。
下载地址:
http://code.google.com/p/tortoisegit/downloads/list
根据不同的平台下载相应的版本.
双击安装程序安装
选择ssh客户端
点击Next继续安装完成
安装完成
在本地版本库右击看到的菜单
选择设置
设置你的机器上面git路径
选择ssh路径
设置名称和email
选择git clone添加版本库地址,下面是本地文件夹名称
点击ok即可下载一份新版本库 出现验证窗口,点击是即可存储登录认证
a.提交对话框:添加提交注释
b.比较对话框
c. 提交记录
五、Git的基本命令:
git pull :从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例
如:'git pull origin master'就是将origin这个版本库的代码更新到本地的master主枝,该功能
类似于SVN的update
git add :是将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步,例如'git add app/model/ user.rb'就会增加app/model/user.rb文件到Git的索引中
git rm :从当前的工作空间中和索引中删除文件,例如'git rm app/model/user.rb'
git commit :提交当前工作空间的修改内容,类似于SVN的commit命令,例如'git
commit -m "story #3, add user model"' ,提交的时候必须用-m来输入一条提交信息
git push :将本地commit的代码更新到远程版本库中,例如'git push origin'就会将本
地的代码更新到名为orgin的远程版本库中
git log :查看历史日志
git revert :还原一个版本的修改,必须提供一个具体的Git版本号,例如'git revert
bbaf6fb5060b4875b18ff9ff637ce118256d6f20' ,Git的版本号都是生成的一个哈希值
上面的命令几乎都是每个版本控制工具所公有的,下面是Git独有的一些命令:
git branch :对分支的增、删、查等操作,例如'git branch new_branch'会从当前的工
作版本创建一个叫做new_branch的新分支,'git branch -D new_branch'就会强制删除叫做
new_branch的分支,'git branch'就会列出本地所有的分支
git checkout :Git的checkout有两个作用,其一是在不同的branch之间进行切换,例
如'git checkout new_branch'就会切换到new_branch的分支上去;另一个功能是还原代码的
作用,例如'git checkout app/model/user.rb'就会将user.rb文件从上一个已提交的版本中更新
回来,未提交的内容全部会回滚。
六. Git 基本使用
下面简单说明一下使用git的工作过程
1. 设置git用户
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
2. 修改忽略文件列表
vi .gitignore
3. clone 代码库 git clone git_repo_url
4. 创建work分支开始工作
5. 工作一段时间,测试没有问题后,合并到master
git checkout master
git merge work
6. 如果work分支没有用了就删除work分支
git branch -d work
7. 鼓励开多个分支同时工作,重复5,6
8. 需要提交的时候 pull 更新服务器上面的代码到本地,
如果有冲突, 打开冲突的文件处理冲突
<<<<<<< HEAD:index.html
=======
>>>>>>> iss53:index.html
“====”上面的代码为本地代码,下面的代码为服务器上面的代码
修改就是统一这部分代码为一个代码
9. 提交合并 git commit -am “merge something”
10. 提交到服务器 git push origin master
这里只比较了master分支,
如果需要提交私有分支和同事共享,
git push iss926 iss926
含义为把本地的iss926 提交到服务器上面的iss926
如果没有权限和服务器管理员联系
七. git使用要求
1. 先更新,再提交
2. 按最小功能(或是单功能)提交代码
每次提交以完成一项功能为宜,添加一个小特性或修复一个 bug 。
尽量不要按时间为基础,比如到下班的时候提交一次,不管这个功能是否完成。
在开发功能模块的时候,可以为每个小功能的测试通过后,进行提交一次。
我们提倡多提交,也就能多为代码添加上保险。
3. 不要提交未完成的代码
代码在提交之前,首先要确认自己已经检查无误。
项目经理在需要确保开发小组成员在签出代码之后能够在统一的环境中进行开发。
4. 每次提交必须书写明晰的注释
提交时可以使用一下方式,尽量说明你的代码实现了什么功能:
add a feature.
fix a bug.
remove a feature.
尽量不要使用一下的方式, 这些方式没有说明你修改的代码实现什么功能:
add some files
delete some files
merge 085bb3bc and a11bef06a
5. 提交时注意不要提交本地自动生成的文件,配置忽略配置文件
例如 editplus 生成的 .bak ,Windows 生成的缩略图 Thumbs.db ,Smarty 生成
的 templates_c 文件夹中的缓存文件等等。
6. 不要提交自己不明白的代码, 需要看懂以后写上注释
7 不要放入与代码无关的文件
版本控制系统主要是管理代码的有序更新,方便程序员能够在发现错误的时候,回到
出现错误以前。所以与代码无关的文件尽量不要放进来,如编辑器软件,非项目本人的开发
文档,非文本格式的文档,上传的图片或文件。
本文来源:https://www.2haoxitong.net/k/doc/929d7b4e2e3f5727a5e962a8.html
文档为doc格式