最后更新于2017年01月24日

一、为什么

  为什么不用svn?

svn是一个优秀的代码和版本管理工具,使用svn只需要搭建好svn中央仓库,配置本地svn客户端即可,自从google code关闭服务之后,互联网上已经没有非常好的公共svn仓库,如果是公司内部使用,还可以用上公司内网搭建的svn服务器,但个人就没那么方便了。

  为什么用git?

git和svn同样作为代码和版本管理工具,git的理念更先进,而且公共git仓库github真的好用,众多优秀的开源项目都放在github

  什么是git、github、tortoisegit?

github是目前世界上最大的代码托管平台,对个人也提供了非常丰富的功能;git客户端是windows系统下与github仓库传输数据的客户端工具;tortoisegit是git图形管理界面,依赖git客户端,提交时可以清晰看到变更内容

二、怎么用

1、注册github账号

  github官方网站:https://github.com/,注册过程:略

2、安装git客户端与tortoisegit

  git客户端下载地址:https://www.git-scm.com/

  tortoisegit下载地址:https://tortoisegit.org/

  双击下载的安装包,默认安装直到完成。

3、配置git客户端

  git客户端需要配置ssh建立与github之间的远程安全连接,安装完git客户端之后有如下快捷方式

  打开git bash,输入以下内容,邮箱为github注册邮箱

ssh-keygen -t rsa -C "573215750@qq.com"

  回车,输入“yes”,再回车,将在“C:\Users\john\.ssh\id_rsa.pub”文件生成ssh密钥,复制所有内容

  登录github,打开“Settings”

  点击左侧“SSH and GPG keys”菜单,然后点击右侧上方“New SSH key”按钮,“Title”随意输入名称,“Key”处粘贴刚才复制的密钥,注意最后不要留空格或换行,保存配置

  打开git bash,输入以下内容验证ssh连接
ssh -T git@github.com

  第一次需要输入“yes”然后回车才能看到连接成功的信息,以后就不需要了

4、配置全局信息

  配置全局的用户名、邮箱信息,作为提交人信息

git config --global user.name "ywlaker"
git config --global user.email "573215750@qq.com"

5、创建github仓库

  登录github,创建一个工程,名为“test”,勾选“Initialize this repository with a README”,并选择一个license,以“Apache License 2.0”为例

  创建完“test”仓库之后,查看该仓库,只包含两个文件:“README.md”和“LICENSE”

6、创建eclipse工程

  在eclipse下创建工程,名为“test”(名称任意),在资源管理器中查看项目

  在git bash中查看项目(linux下点开头的文件为隐藏文件,所以只能看到三个文件(夹))

7、同步eclipse工程与github仓库

  github的license与readme文件要同步到eclipse工程,eclipse工程的代码要同步到github仓库,并且eclipse自动生成的那些“.settings”、“.project”、“.classpath”还有“target”不需要同步到github仓库,怎么处理?

7.1、git初始化eclipse工程目录

  在资源管理器中打开“test”工程根目录,右键“Git Create repository here...”

  或者,git bash输入命令

cd /d/eclipse/workspace/test/
git init

7.2、同步github仓库文件到eclipse工程目录

  git bash输入命令

git remote add origin git@github.com:ywlaker/test.git
git pull origin master

7.3、添加.gitignore

  将eclipse自动生成的与代码无关的文件排除在同步列表之外,git bash切换到工程根目录,输入

vi .gitignore

  然后按下键盘的“i”键,输入

target/
.settings
.classpath
.project

  按下“esc”键,再输入“:wq”保存退出,此时“test”工程根目录多了一个“.gitignore”文件

  因为windows下无法新建以点号开头的文件,所以只能用上面这种方式。

7.4、同步eclipse工程到github仓库

  在资源管理器中进入“test”工程根目录,右键“Git Commit -> 'master'”

  出现和tortoisesvn一样的提交界面,确定内容后提交即可

  这一步是将文件提交到本地git缓存,用命令行也可以,git bash切换至工程更目录,输入

git add ./*
git commit -m "comment"

  最后,将本地缓存同步到github仓库

git push -u origin master

windows环境下使用git客户端、github和tortoisegit管理项目代码的更多相关文章

  1. Android 源码获取-----在Windows环境下通过Git得到Android源代码

    在学习Android的过程中,深入其源代码研究对我们来说是非常重要的,这里将介绍如何通过在Windows环境下使用Git来得到我们的Android源代码. 1.首先确保你电脑上安装了Git,这个通过  ...

  2. Windows环境下通过Git来管理自己的Android代码

    前面已经介绍了在Windows下使用git工具来下载Android的源代码,Windows环境下通过Git得到Android源代码,这里记录我使用git工具来管理我自己的代码,git是一种分布式的项目 ...

  3. (转发)Android 源码获取-----在Windows环境下通过Git得到Android源代码

    在学习Android的过程中,深入其源代码研究对我们来说是非常重要的,这里将介绍如何通过在Windows环境下使用Git来得到我们的Android源代码. 1.首先确保你电脑上安装了Git,这个通过  ...

  4. windows环境下 生成git公钥和私钥

    windows环境下 生成公钥和私钥 上传代码到远程仓库的时候需要秘钥进行验证是否本人上传的.打开Git目录下的Git Bash 输入ssh-keygen,回车 可直接不输入路径,使用默认路径(c/U ...

  5. Windows 环境下配置 git bash 的 HOME 默认路径

    0.引 在 windows 下安装 git 之后, git 默认的HOME和~路径一般都是C:\Users\用户名,每次得用命令切换到常用的Repository下,此操作重复而没有意义.为了修改默认路 ...

  6. windows环境下的git安装及使用

    昨天晚上,我用了一个半小时整github,为了便于他人能快速的安装使用,也为了回顾一下自己痛苦的过程,特意写下这篇博客.好的,让我们开始吧.... 我的环境:win10,msysgit1.9.4.0 ...

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

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

  8. [转]Windows环境下利用“共享内存”实现进程间通信的C/C++代码---利用CreateFileMapping和MapViewOfFile

    http://blog.csdn.net/stpeace/article/details/39534361 进程间的通信方式有很多种, 上次我们说了最傻瓜的“共享外存/文件”的方法. 那么, 在本文中 ...

  9. 【经验之谈】Git使用之Windows环境下配置

    前言 安装 配置 关于git使用的几个问题 后记 关于代码托管,以前用过vss和svn,看博客或论坛的时候,经常有人提到github,有很多著名的开源软件都托管在github,想来肯定不错(莫笑),当 ...

随机推荐

  1. 转载:org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.Annotation

    转载:org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.Annotation (2012 ...

  2. 将一个字典内的内value转换为集合:返回一个数组,此数组中包含输入字典的键值对中的数组的所有元素(为NSArray添加category)

    - (NSArray *)testa:(NSDictionary *)dic { NSMutableArray *arr_M = [NSMutableArray array]; // 1.遍历每一个元 ...

  3. [Programming WCF Services]Chapter 1. WCF Essentials - Metadata Exchange

    1.HTTP-GET WCF 方式 通过Http的方式提供metadata 1.1.配置文件方式 <system.serviceModel> <services> <se ...

  4. Bash shell 的算术运算有四种方式

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1:使用 expr 外部程式加法 r=`expr 4 + 5`echo $r注意! '4' '+' '5' 这三者之间要有空白r=`e ...

  5. STL中的所有算法(70个)

    STL中的所有算法(70个)----9种类型(略有修改by crazyhacking) 参考自: http://www.cppblog.com/mzty/archive/2007/03/14/1981 ...

  6. hadoop如何查看文件系统

    1.查看当前的文件系统 [root@hadoopmaster bin]# . itemsdrwxr 00 00 /user 当然也可以以浏览器中这样查看localhost:50070   这就是had ...

  7. ios UIKit动力

    UIkit动力学是UIkit框架中模拟真实世界的一些特性. UIDynamicAnimator 主要有UIDynamicAnimator类,通过这个类中的不同行为来实现一些动态特性. 它一般有两种初始 ...

  8. 74HC166与TPIC6A595分析(转)

    源:Atmega162串行外设接口SPI 一.Atmega162的SPI接口基本概念与工作原理 SPI接口的全称是"Serial Peripheral Interface",意为串 ...

  9. BZOJ2064: 分裂

    2064: 分裂 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 360  Solved: 220[Submit][Status][Discuss] De ...

  10. Java编译时出现No enclosing instance of type XXX is accessible.

    今天在编译Java程序的时候出现以下错误: No enclosing instance of type Main is accessible. Must qualify the allocation ...