最后更新于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. (中等) Hiho 1232 Couple Trees(15年北京网络赛F题),主席树+树链剖分。

    "Couple Trees" are two trees, a husband tree and a wife tree. They are named because they ...

  2. php 设计模式系列(一)

    参考文章:http://duchengjiu.iteye.com/blog/2227452 多态代码 // 多态, 在JAVA中是这样用的, 其实在PHP当中可以自然消除, 因为参数是动态的, 你传什 ...

  3. jquery如何判断元素是否被点击_百度知道

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <div id="parent"> <a id="a1" ...

  4. mvn

    http://blog.csdn.net/z69183787/article/category/2265961

  5. 6、手把手教你Extjs5(六)继承自定义一个控件

    Extjs的开发都可以遵循OOP的原则,其对类的封装也很完善了.自定义一个控件最简单的办法就是继承一个已有的控件.根据上一节的需要,我做了一个Button的子类.首先根据目录结构,在app目录下建立一 ...

  6. 在spring 3.0中的@value

    在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件 中的文件,进行键值对的注入,例子如下: 1 首先在applicationContext.xml中加入:   ...

  7. ireport 取消自动分页,detail不分页,当没有数据的时候显示title

    报表文件属性页面 lgnore pagination 勾选上,就可以取消分页功能.

  8. iOS UIActivityIndicatorView 的使用

    UIActivityIndicatorView 非常简单 ,就是一个转圈圈的控件:http://blog.csdn.net/zhaopenghhhhhh/article/details/1209265 ...

  9. IOS软件国际化(本地化Localizable)

    IOS软件国际化(本地化Localizable) iPhone是支持语言最多的手机,它支持各国语言及中国少数名族如蒙古等语言,这也是好多少数名族都用苹果的原因.在这一点上我们自主品牌还是要多学习学习. ...

  10. 轻轻的扩展了一下IEnumerable<T>

    今天用EF写东西玩,觉得IEnumerable里面除了where().select(),是不是能添加点其他方法呢. 想做就做,F12到方法定义: public static IEnumerable&l ...