文章1: http://blog.sina.com.cn/s/blog_5063e4c80100sqzq.html

一、安装必要客户端

1. TortoiseGit

http://tortoisegit.googlecode.com/files/TortoiseGit-1.0.2.0-32bit.msi

下载安装后,重启系统。

2. 安装 msysgit

a. 从 http://msysgit.googlecode.com/files/Git-1.6.2.1-preview20090322.exe 下载并安装;

3. JGit/EGit plug-in for Eclipse 3.5

a. 菜单 -> Help -> Install New Software -> "Add" Button;

b. "Add Site"

Name     : jgit Location

Location : jgit - http://www.jgit.org/updates

选择最新版本(目前是 0.5.0.200908282229)安装之;

c. 重启 Eclipse

=============================================================================

二、在服务器上建立公共库 并提交第一个项目

说明中省略了在提示框填写密码的步骤。

1. ssh 到服务器,假设当前目录为你的帐户根目录;

2. 在服务器上建立公共库

$ mkdir gitdemo.git  #仓库名称为 gitdemo.git

$ cd gitdemo.git

$ git --bare init --shared #建立裸库,且为 group 共享模式

刚刚创建的 Git 仓库是没有任何分支的,因此也没有 clone 的意义。

所以我们需要向新的仓库上传一些东西,以初始化仓库。

3. 管理员添加公共库的第一个项目

我将在 D:\ 目录下开始所有操作。

a. 建立本地 Git 仓库的文件夹 AndroidSpace

建议如没有特殊需要,此处不要在 Eclipse 的 workspace下建立仓库目录,

也不要将 workspace 作为仓库目录,否则会使得环境过于复杂,可能造成不必要的麻烦。

最好在与 workspace 同目录下建立仓库目录,例如 AndroidSpace。

也就是说 AndroidSpace 是本地的一个 Git Repository,同时也被当作是 Eclipse 的一个

工作空间,当然它并不是真正你设置的 workspace。

b. 进入 AndroidSpace 目录,右键点击显示菜单,选择 "Git create repository here",

将会建立一个 .git 目录,此时 AndroidSpace 已经成为一个本地 Git 仓库。

c. 这里需要手动添加 ".gitignore 文件,以过滤不需要进行版本控制的文件。

方法:

在 AndroidSpace 仓库中新建一个文本文件,如叫 ignore.txt;

向其中添加需要过滤的文件名称的匹配字符,如:

*/bingen/*

添加完毕后保存关闭,在 cmd 窗口,执行以下命令:

D:\AndroidSpace>ren ignore.txt .gitignore

将 ignore.txt 改名为特定的 .gitignore 文件,直接 F2 重命名在 windows 是不允许的。

d. 此时使用 Eclipse 建立一个 Android 工程(你也可以用别的)。

注意将目录定位到 AndroidSpace中(你刚才创建的 Git 本地库)。

c. 此时,Test 项目文件夹及内部各文件都会标有一个大大的问号。

右键点 Test 项目 -> TortoiseGit -> Add... -> 确认要 add 的文件 -> OK;

d. 此时,Test 项目文件夹及内部不被过滤的文件都会标有一个大大的十字。

右键点 Test 项目 -> (Git commit -> "master") -> 写 comment 以及确认要提交的文件 -> OK ->

完毕后有两个 button : Close 和 Push。

如果 Close 则直接关闭对话框。

如果 Push,则会弹出 Push 对话框,以便将当前分支同步到服务器公共库上。在对话框中填写:

Local:master | Remote:master

Destination: 如果是第一次配置,需要点击 Manage button,打开 Settings 对话框,

右侧面板中填写

Remote:origin | Url: username@server_ip:your_account_dir/gitdemo.git

拷贝一下Url。

点击 "Add New" -> 点击 "应用"。

回到Push对话框,此时 origin 并不会自动显示,你需要选择 Arbitray URL再次填写

一遍 刚才的 Url(下次打开时就会有 origin) 了。

点击“OK”,push 操作完成。

(你也可以 右键点 Test 项目 -> TortoiseGit -> Push... 打开Push对话框。)

此时,Test 项目文件夹及内部不被过滤的文件都会标有一个大大的对号。

e. 此时在服务器的公共库目录下 使用 git log 命令,可看到刚刚 push 的项目日志。

这样公共库的建立及第一次初始化操作完毕(图 Tor 1, Tor 2)。

f. 用同样的方法可将之前创建的 .gitignore 文件上传,不妨试一下。

三、从已建立好的公共库上 clone 项目

1. 在 AndroidSpace 同目录下,右键 -> Git clone -> Git clone 对话框,填写 Url 和 Directory,

Url: username@server_ip:your_account_dir/gitdemo.git。

点击 “OK”,完成 clone。

此时,你可以在 Eclipse 中导入这个新建库中的 Test 项目。就像“Windows XP 下使用 Git 小记 (二)”一样。

四、进行一次两个客户端的同步

这里,由于我是在一台机器上进行操作,所以不能起同样的项目名称,我的当前环境如下:

(你可以将 Eclipse 中的项目删除,重新导入,并分别重命名为 Test1 Test2)

D:/AndroidSpace/Test    导入为-->  Eclipse Test1

D:/AndroidClient/Test   导入为-->  Eclipse Test2

AndroidSpace 和 AndroidClient 为前述中提到的两个本地 Git Repository, 在服务器上有我们的公共

Git 库 gitdemo.git。

现在要做的就是,修改 Test1 中的 Test.java 文件,提交修改,并同步到 gitdemo.git,Test2 再与

gitdemo.git 同步,获取最新的 Test.java 文件的修改。

在将 Git 中的项目导入到 Eclipse 中时,Eclipse 会修改项目目录下的 .classpath 文件,没有关系,

它看起来似乎只是调换了一下里面的内容。把它当作一个普通文件就好了。

1. 打开 Test1 项目的 Test.java 文件,添加如下代码:

private static final String TAG = "Test";

...

setContentView(R.layout.main);

Log.v(TAG, "Test Message");

...

2. 保存修改后,(不是在 Eclipse 中)右键点击 Test.java -> (Git commit -> "master")

-> 填写 comment,确认要更改的文件,并点击“OK”提交 -> Close;

3. 右键 Test.java -> TortoiseGit -> Push... -> 填写字段 -> OK,push完毕。

可以在服务器端 git log 看看日志。

4. 下面对 AndroidClient 进行一下同步。

右键 AndroidClient -> Git Sync... -> Git Synchronization 对话框 -> 填写表单 ->

点击“Pull”按钮 -> 就会显示出同步结果。

我的有两个: add .gitignore 和 modify Test.java,如果没有冲突,将会自动合并,

如有冲突,那就先解决冲突,再提交修改。

=================================================================================

实际使用的情况会更负责,比如 push 时,一般都需要先 pull 一下,否则如果公共库相对你

的本地库有修改,那 push 操作会失败。

********************************************************************************

TortoiseGit 功能十分强大,而且十分人性化,

需要在使用的过程中不断磨合。

文章二:http://blog.csdn.net/chinaonlyqiu/article/details/8826767

一、         想要使用TortoiseGit,首先应该安装msysGit,因为TortoiseGit只是一个界面,易于用户操作的。

(一) 首先google一下msysGit或者直接使用网址http://msysgit.github.io/进行下载,看大家喜欢用哪个(我使用的msysGit),然后双击下图中的圈出的部分。

图表1

(二) 然后按照提示下载下来,因为这只是一个安装器,所以所有的下载还要在后边下载。双击已经下载下来的*.exe,然后开始安装了,这时候就不用管它了。因为 大陆网络的各种原因,这个软件相关的文档是从googlecode上下载的,所以相对会慢一些,等着它全部完成,就会出现下图中的情况,表示安装成功了。 很多大牛就是靠这个来和GitHub提交代码和文档的,但是我是初学者(俗称小菜)。

图表2

二、         这里的一切都已经准备Over了,然后就开始准备安装TortoiseGit。

(一) 首先到https://code.google.com/p/tortoisegit/wiki/Download上下载下来32-bit或者64-bit的*.msi文件,如下图:

图表3

(二) 大家还看到,上图中的下方有“Language
Packs”,所以如果英文学得不是很好的朋友或者初学者,可以考虑下载“Chinesesimplified”这个中文包。然后安装刚才下好的
TortoiseGit,安装完毕以后,接下来运行刚才下载好的中文包。然后一切顺利的话,就下载好了。

三、         然后工具都准备好了,开始使用这些工具跟GitHub交互了,也就是大家希望的往GitHub开源代码托管库提交数据了。

(一) 首先我们要运行TortoiseGit下的Puttygen,可以通过“开始”找到。

图表4

运行开始后,就可以点击“Generate”(产生),来生成密钥了,这个是方便公钥与私钥加密的,这个有兴趣的朋友,可以了解一下RSA加密技
术。但是值得注意的是最下边的“Type of key togenerate”使用默认的方式“SSH-2
RSA”方式,这是github的要求。生成完密钥,应该保存一下,以方便后边的使用,尽量保存到自己方便找的地方,也可以和自己之前的安装目录放到一
起。

图表5

(二)
到现在我们就要开始建立TortoiseGit和msysgit的连接了,这样才可以使用TortoiseGit,而不用我们直接操作msysgit这样
的命令行格式,毕竟我是小菜。从开始菜单找到TortoiseGit的Settings,然后如下图操作。还可以设置一下其他的选项,使用过程中逐渐就会
认识到。

图表6

(三) 然后就可以开始到http://www.github.com上去申请自己的账号了,此处略去。登录以后在网站的右下方,有如下图的一个“New repository”,点击建立一个新的仓库,如果使用过SVN的朋友都应该懂得,就是放自己代码的地方。

图表7

图表8

这样子,自己的仓库就建好了,然后就开始配置SSH,就是刚才用Puttygen什么的那个密钥的相关配置。

(四) 点击当前网页右上角的这个图标,
然后选择左边的“SSH Keys”,选择“Add SSH
Key”,Title随便取个名字,但是尽量规范一些(方便自己以后有多个key时区分)。把刚才产生的那个Puttygen私钥,复制粘贴到Title
下边的Key中,就可以了。这样子,我们就配置SSH Key完成了。

四、         紧接着就可以往GitHub上上传数据了。

(一)首先我们在电脑的某个地方新建一个
文件夹(路径尽量不要含有中文,因为好像上传的时候中文的就会出现一定的问题)。然后右键该文件夹,单击“Git
Clone”,然后就可以从GitHub上克隆下来原有的数据(一定要执行)。完事以后,我们就会发现多了我们当时建立的一个库文件。

其中操作如下图:

图表9

(二)这时候我们就在刚才克隆下来的仓库中新建一个.txt文本,进行测试。操作具体如下图:

图表10

增加完,我们就可以commit了。

图表11

Commit完了,很多朋友,特别是用过SVN的朋友都以为结束了,其实去GitHub上查看,竟然没有,也许会郁闷一
下。其实也好理解,例如大家都知道在数据库中的操作中,会有提交和回滚操作。其实这里的commit相当于先把数据放到了缓存中(也许不太恰当)。然后还
要拉到GitHub的仓库中。操作为退到仓库文件的文件夹下,如下操作:

图表12

继续完成如下图所示操作:

图表13

这时候,我们去自己的GitHub上查看,发现已经存在了刚才上传的文件。

图表14

(三)这时候也许已经可以让我们这些初学
者松口气了,其实我们知道也许我们很多时候是已经创建好的文件夹想要上传到GitHub上。但是当我们使用刚才同样的方法进行操作时,文件夹好像是不行,
所以我们要注意一下,整个文件夹上传时,需要先pull下,然后修改以后->commit->push(推送),这样我们去看就会发现整个文
件夹也已经上传上去了,反正我初学是挺高兴的,这也是对我们的反馈。

图表15

五、         总结与致谢

自己学习过程,遇到了一些问题,走了点弯路,所以一定要从了解这个东西的原理开始学起,然后才可以抓住主线进行学习。

感谢“中国GitHub协会高级群”的朋友(大众等人),及网上不辞辛劳写blog和论坛的朋友,他们帮我解决了很多自
己遇到的疑惑;同时感谢学长和勇哥的帮助,让我很快开始有信心学习这个东西。现在还只是学习的初步,希望自己可以开始学习他们给我传的资料,进而更好地学
习这方面的知识。

Git 的 WindowsXP安装的更多相关文章

  1. 在windows 环境下对于 git 服务器的安装和使用

    前言: 虽然说在团队开发的时候会有版本控制服务器,但是个人自己开发的时候,有的时候也需要有个版本控制下,比如,你改好了一个小的功能,然后在这个功能上继续扩展,结果扩展不成功,于是回到这个小功能上去.当 ...

  2. Git入门(安装及基础命令行操作)

    一.安装 1.Mac 在Mac中安装Git的方法不止一种.最简单的要数通过Xcode命令行工具.对于Mavericks(10.9)或更高版本的操作系统,当你第一次尝试在终端执行git命令时,系统会自动 ...

  3. 架构(四)Git简介,安装以及相关命令SourceTree

    一 Git介绍 1.1 Git是什么? Git是一个分布式版本控制软件: 版本控制:假如开发人员开发了一个a功能,结果项目经理觉得不够需要修改,开发人员又改成了b功能,后来又改成了c功能,但是最终项目 ...

  4. Git(介绍和安装)

    Git 是什么 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制系统. 与常用的版本控制工具 CVS, Subversion 等不同,它 ...

  5. 如何在CentOS 7中安装最新Git(源码安装)

    如何在CentOS 7中安装最新Git 2017年05月20日 11:49:53 阅读数:1624 Git是在今天的软件开发行业一个非常有用的版本控制工具.我一直使用Git.于是为Linux公社的读者 ...

  6. Git客户端的安装与配置入门

    GitLab与Git客户端的安装与配置入门,每次配置完一段时间,就忘记配置过程了,为了自己和同学们以后有所参照,特记录了本次下载和配置,其实Git就是一个版本控制系统,类似于SVN,CVS等 下载:W ...

  7. Git学习 之 安装

    1.官网下载 https://git-scm.com/downloads 2.修改安装目标路径,其他默认安装 3.通过系统管理员身份打开cmd,输入git 检查是否安装成功

  8. git 使用和安装

    http://www.git-scm.com/download/ http://www.git-scm.com/download/win http://www.git-scm.com/download ...

  9. Git第三方仓库安装方式(IUS)

    1.安装使用里面说的自动化安装脚本 curl https://setup.ius.io | sh 2.然后可以看到 git2u相关内容 yum search git 3.执行安装,并查看下版本 yum ...

随机推荐

  1. mysql学习------二进制日志管理

    MySQL二进制日志(Binary Log)   a.它包含的内容及作用如下:    包含了所有更新了数据或者已经潜在更新了数据(比如没有匹配任何行的一个DELETE)    包含关于每个更新数据库( ...

  2. MVC控制器使用总结

    一.新手入门 1.特性 [AuthorizeFilter]  用于权限过滤 [HttpGet] [HttpPost] 2.参数 GET获取 [HttpGet] ) { return Json(&quo ...

  3. Gitlab & Github

    windwos上Git的使用 软件下载地址:https://github.com/git-for-windows/git/releases/download/v2.15.1.windows.2/Git ...

  4. 【转】使用TCP协议连续传输大量数据时,是否会丢包,应如何避免?

    使用TCP协议连续传输大量数据时,是否会丢包,应如何避免? 比如发送文件.记得有人提过可能会发生什么堆栈溢出.怎样避免呢?是不是可以收到数据后发送确认包,收到确认包后再继续发送.或是发送方发送了一些数 ...

  5. python学习之算法、自定义模块、系统标准模块(上)

    算法.自定义模块.系统标准模块(time .datetime .random .OS .sys .hashlib .json和pickle) 一:算法回顾: 冒泡算法,也叫冒泡排序,其特点如下: 1. ...

  6. v-if案例解析(element-ui form-item 结合 v-if 动态生成rule规则\表单元素,表单无法验证问题剖析 )

    fire 读在最前面: 1.此文章衔接Vue 虚拟Dom 及 部分生命周期初探,相关整体知识点请先阅读后再继续本文阅读 问:当v-if为true时,会重新渲染相关dom节点吗? <child v ...

  7. 《剑指offer》二叉树镜像

    剑指offer简单题,但是能一下写对也需要小心考虑细节. 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8 / 6 10 /   / 5 7 9 11 ...

  8. 自己动手破解rar密码-ruby脚本实现

    破解密码,上策是社工的方式,下策则是暴力破解了.这里使用暴力破解,字典文件放在txt中:通过调用winrar的相关参数进行操作.经过测试,当字典中密码为100个时,破解耗时8秒(个人配置:i5-321 ...

  9. ruby语言学习笔记2

    ruby学习笔记2  (摘自<ruby程序设计语言教程(中文版)>.pdf,全书25页) 1.同一个问题ruby有多个解决方案,途径 ruby之父:松本行弘(Matz),1993年创立 r ...

  10. Spark streaming的执行流程

    http://www.cnblogs.com/shenh062326/p/3946341.html  其实流程是从这里转载下来的,我只是在流程叙述中做了一下的标注. 当然为了自己能记住的更清楚,我没有 ...