1.安装

1.      安装Git-1.7.10-preview20120409.exe TortoiseGit-1.7.9.0-32bit.msi,选项都默认就行。

2.      开始菜单运行git->git.bash,输入ssh-keygen –t rsa,然后退出。

3.      开始菜单运行tortoisegit->puttygen, load 第二步产生的id_rsa文件(一般在用户目录下的.ssh文件夹中),然后saveprivate key。

4.      把id_rsa.pub文件发送给我。然后我修改服务器端权限。

5.      在你想保存版本库的文件夹中,点右键,选择git clone。

6.      url输入:git@59.72.109.22:web.git,Directory:默认。loadputty key:选择你保存private key的文件夹里的*.ppk文件。选择ok即可。

2.使用

2.1 git简介

2.1.1 Git的不同工作区域

Git内部包括三个区域:工作区workdirectory,暂存区indexed files和本地版本库local repository和远程版本库remote repository。

  • git add 是将工作区的内容保存到暂存区
  • git checkout 是将暂存区的内容覆盖工作区
  • git commit 是将暂存区的内容保存到版本库
  • git reset 默认情况下是将版本库的内容覆盖工作区
  • git diff 也有三种情况,分别是比较工作区与暂存区,工作区与版本库,暂存区与版本库之间的差别
  • git push 将本地版本库同步到远程版本库

 

2.1.2 tortoisegit常见的图标

 这个文件(夹)很干净,是最新版本文件

这个文件(夹)发生了修改,需要提交

这个文件(夹)要添加进版本库

这个文件(夹)没有在版本库中,需要添加进来(转为上一个图标的状态),或者忽略(转为下一个图标的状态)

这个文件(夹)被忽略,不受版本控制

这个文件(夹)里的内容发生冲突(这是最危险的情况,但是对于个人用户来说,几乎不会出现,出现的情况是两个人同时对一个文件做修改,后提交的人在更新时无法与前者完美融合时)

通过这么直观的图标暂时,你就能对自己的工作文件夹了如指掌,那些文件做了修改,当前工作是否需要提交,都一目了然。

 

2.2简要使用说明

2.2.1 本地使用Git

击工作文件夹,可以看到TortoiseGit已经嵌入右键了。


“Git Clone...”是获得远程的版本库,“GitCreate repository here”是将选定的文件夹作为要创建的版本库。

在要创建版本库的文件夹中点“Git Create repository here”后,会显示:

点“Ok”就会在该文件夹的根目录自动创建一个隐藏文件夹".git" (此步不需要做)。

现在,用git初始化过的文件夹就不一样啦!!

不仅文件都有附加的绿钩图标(此为已添加进版本库且未被修改过的文件),右键菜单也多了操作选项。

将要使用git版本库管理的文件,选择后用git的菜单add进去

master是Git默认的主要分支(主干),适合单人独自开发。多人开发时可以给每个人创建一个分支。


按Git Commit -> “master”是将所选文件夹内容提交到用于汇总的库上。如果此时工作在分支,则提交到分支。

提交修改后,出现:


以上就是如何提交更改到本地的版本库,所以无论有无网络Git都可以用。(注意在这里,新增加的文件,如果没有使用git 的add菜单加入,在这里通过复选框选择可以起到基本相同的效果。)

2.2.2 远程使用Git

本地Commit(提交)后,下面介绍的就是Push到远程啦.

首先,在待提交的本地文件夹内右键单击空白处,选择 TortiseGit->Settings 。


设置用户名和邮箱,这里填的是每次提交后,版本库中显示出来的作者名和联系方式。


接着选择Remote,可以看见右图有3个需要填写的文本框。(这里已经有个remote了,所以不需要再设置。)

Remote:远程传送的一个代号(可以随便起个名字,自己看得懂就行)

Url:要提交的sourceforge目标地址,格式是ssh://用户名@项目名.git.sourceforge.net/gitroot/项目名/版本库名

(把orange030换成你的sorcefore用户名,比用户名为如aaa,那你就应该写ssh://aaa@throwstone.git.sourceforge.net/gitroot/throwstone/throwstone)

地址也可在项目页中查找,方法为登录sorcefore后,在自己的项目页进入Code->Git 中Git Access那一栏即可看到 (read-only) 和 (read/write) 地址

Putty:你在sorceforge上使用的密钥 (设置sourceforge的SSH key )

填好后点addnew增加即可。


要从本地文件夹更新至网络库,选中文件夹(必须是Git初始化过的),然后右键单击,选择TortoiseGit->Push...,弹出下列窗口。

选择要push的本地分支,和远程目标的分支(注意可以push到不同分支),点“OK”。


要从远程更新至本地文件夹,相应的,选择TortoiseGit->Pull...。

在确定你已经设置过Remote的情况下,点“OK”就可以了。

如果下图中Remote下拉菜单是空白的,那就说明你还没设置好Remote,点击“Manage Remotes”进行设置。(请参考上文)


2.3版本分支

在进行更进一步操作时,有必要了解一下版本分支(Branch)的概念。版本分支意味着,你从当前的项目中弄出来一个拷贝,按照自己的想法胡乱修改,你之后的所有版本历史都保存在这个分支里。如果你对这个分支很满意,就可以把这个分支合并到原来的主分支里(Merge),甚至直接让这个分支作为主分支;或者你感觉到越改越糟糕,就直接回到主分支工作,仿佛什么也没有发生一样(当然这个新的分支要通过某些复杂的操作来删除,你也可以留着,作为自己惨痛教训的警钟)。也就是说,分支为你提供了一个尝试某些新道路的空间。

作为个人用户来说,有一个主分支和一个工作分支就够了。主分支作为基准一直不变,工作都在工作分支上进行,这样主分支与工作分支之间的变化就记录了你的所有工作历史。

我们来具体实践一下。

首先,git有个不太人性化的“bug“,不能够添加空白文件夹,因此我们需要先添加一个空白文件,比如 test.txt,然后在文件夹上右键选择 “Git commit"


选择添加的那个文件,写点message(git每次提交必须写上一些文字说明这次更新的内容,从而让你知道每个版本有什么变化)提交即可


 

在刚才的工作文件夹上右键,选择 “Create Branch“

 

 随便取名比如 develop,确定即可。

 依然右键选择 “Show log“,出现如下对话框


 可以看到,我们已经有了一个版本历史,它详细记录了我们的改变。上面有两个颜色标签,红色的master和绿色的develop,这个代表了我们的分支。master是我们第一次提交时系统自动生成的分支;develop是我们手动创建的。红色的代表当前的工作分支,绿色的代表存在的历史分支。我们需要把工作分支切换到 develop。

在文件夹上右键选择 “Switch/Checkout", Branch里选择develop,再查看历史(showlog),我们就会发现,develop变成了红色。

开始工作

接下来我们就可以随心所欲的工作了。编辑一下test.txt,新建文件夹,添加word,excel文件,总之,随便工作。你会看到,修改的文件加了红色的叹号,新加为被版本控制的文件加了蓝色的问号,对于蓝色问号,你可以选择右键里的 “Add“让它变成蓝色的加号(或者有时会一步到位变成绿色的对勾,这个不重要),或者不管他。

然后在根文件上,选择 Commit,再来看看历史(show log),就会发现你的工作记录了

Commit时会有一个让你输入用户名的问题,这个完全不重要,你随便写个用户名和邮箱即可.


可以发现,develop进步了一个版本,master还停留在原处。历史显示,test.txt被修改,一个word和excel被添加;文件夹信息不回被记录。

 双击下面的test.txt文件,它甚至会给你展示出这个文件发生了哪些变化。甚至连 excel 和 word 的变化也会给你选择合适的方式进行比较。


 

 

令人震惊吧!没错,git会完全忠实的记录的一点一滴,只要你commit,系统就会为你保存下来一个历史记录(不必担心空间,它会采用很先进的方式进行增量保存,远比你每次都复制要节省空间得多)

 

结束语

差不多已经把如何用git来进行工作的方法介绍完了,还有一个非常重要的功能没有说,怎么样恢复历史版本的文件呢?很简单,在想要恢复的文件上查看历史,选择revert即可!


 

2.4 多人协作下git的使用说明

请详细读一下这篇文章:http://blog.leezhong.com/tech/2011/02/25/git-workflow-with-blog-demo.html

同时参阅这篇文章:http://blog.leezhong.com/translate/2010/10/30/a-successful-git-branch.html

Joke和john合作简单图解:


3. git与eclipse的使用结合

参阅http://blog.csdn.net/laizhenhai88/article/details/7234974

4. 一些git参考资料

  • Git Magic 很通俗的一本介绍Git的书,比较短小精炼。
  • Pro Git 全面介绍Git的书,非常详细。
  • 《Git权威指南》 中国人写的一本介绍Git的书,也非常通俗。我个人主要就是通过这本书来学习Git的。
  • Github 基于Git的开源网站。在Github的托管的项目相当多,著名的有:rails, jquery, node, homebrew, three20, jekyll, jquery-ui, backbone, coffee-script, tornado, redis, underscore, asi-http-request, django。

 


Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐