最后更新于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. 转 Could not create the view: An unexpected exception was thrown.问题解决

    转自:http://blog.csdn.net/shuangzixing520/article/details/35225105 今天打开Myeclipse10的时候,发现server窗口出现一堆问题 ...

  2. Camera服务之--架构浅析

    Camera服务之--架构浅析 分类: Camera 分析2011-12-22 11:17 7685人阅读 评论(3) 收藏 举报 android硬件驱动框架jnilinux内核平台 一.应用层 Ca ...

  3. php中var_dump() 打印出一个对象的时候,信息怎么看?

    php 的一个依赖注入容器, 说白了,就是用php 的反射类,来在运行的时候动态的分析类具有的函数,以及动态分析函数的参数, 从而实例化类,并执行类的方法. 另外,php 中的 typehint 还是 ...

  4. PC端 H5实现拍照并上传

    <!DOCTYPE HTML><html><head> <meta charset="UTF-8"> <meta name=& ...

  5. ajax常用写法

    $.ajax( url,{ type:"post", data:{},}) .done(function() { alert("success"); }) .f ...

  6. STM8的GPIO驱动

    芯片的外设一般按照这么几个流程来进行,GPIO,外部中断,定时器,串口,ADC,IIC,SPI,下面我就按照各个模式来写 首先是GPIO,STM8的GPIO拥有复用功能,这句话告诉我们必然需要配置IO ...

  7. iOS常用的第三方库GitHub地址

    MJRefresh https://github.com/CoderMJLee/MJRefresh#期待 Facebook-POP https://github.com/facebook/pop /* ...

  8. stm32 DMA数据搬运 [操作寄存器+库函数](转)

    源:stm32 DMA数据搬运 [操作寄存器+库函数]        DMA(Direct Memory Access)常译为“存储器直接存取”.早在Intel的8086平台上就有了DMA应用了.   ...

  9. CSS实现导航条Tab切换的三种方法

    前面的话   导航条Tab在页面中非常常见,本文说详细介绍CSS实现导航条Tab的三种方法 布局   根据上图所示,先规定几个定义,上图的模块整体叫做导航,由导航标题和导航内容组成.要实现上图所示的布 ...

  10. PHPEXCEL实例-导出EXCEL

      PHPExcel 是相当强大的 MS Office Excel 文档生成类库,当需要输出比较复杂格式数据的时候,PHPExcel 是个不错的选择. <?php /* * 导出EXCEL *  ...