为什么GIT
非常简单地说,Git 是 Linus Torvalds 实现的源代码管理软件。正如所提供的文档中说的一样,"Git 是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问。"
我是从VSS过度到Git,相对于VSS, Git给我的感觉是:
-
方便
因为Git不像VSS一样是基于文件锁,所以你不用再每次改动前都要check out你要改的文件。在Git中,所有文件已经处于check out状态。
-
高效
Git提供了丰富的命令行,而且都比较易用。虽然VSS也提供了命令行的支持,但我觉得那个毕竟有限。
安装
- 下载安装包(我这里安装的是PortableGit-1.7.3.1-preview20101002.7z )。
- 安装。
-
安装后,运行git-bash.bat,你会看到这样的一个界面:
输入git,你会看到如上图的一个help。
因为我这里安装的是Portable Git,所以我需要自己注册一下git_shell_ext.dll:
Regsvr32 /git-cheetah/git_shell_ext.dll
然后在文件夹的右键菜单上就会多出一些新的菜单项:
用GIT进行版本控制
创建GIT仓库
GIT的仓库类似VSS的项目。Git提供了两种方式创建仓库:
- Git clone
git clone git://git.kernel.org/pub/scm/git/git.git
- Git init
cd /e/myrepo
git init
基本的工作流程
- 向仓库中添加文件
vi file1
vi file2
vi file3
git add file1 file2 file3
- 查看改动
git diff --cached
- 提交改动
git commit OR git commit -a
分支和合并
git brach experimental
git brach
git checkout experimental
vi file4
git add file4
git commit
git checkout master
git merge experimental
gitk
git brach -D experimental
查看历史
Git Log
协作开发流程
<Bob make a clone from Alice's repository>
cd /home/bob/myrepo
git clone /home/alice/project myrepro
(edit files)
git commit -a
< Alice pull changes back from Bob>
cd /home/alice/project
git pull /home/bob/myrepo
Another way(for Alice):
git remote add bob /home/bob/myrepo
git fetch bob
reference: TortoiseGit_en.chm