最后更新于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. ural1613 For Fans of Statistics

    For Fans of Statistics Time limit: 1.0 secondMemory limit: 64 MB Have you ever thought about how man ...

  2. EasyUi之datagird解读

    1.其json格式需要为:  JSON Code  1234567891011121314151617181920212223   {     ,     "rows": [    ...

  3. hibernate--对象的三种状态Transient,Persistent,Detached

    Transient:刚new出来的对象 Persistent: sava或者update之后的状态 Detached: close或者clear之后 test函数: @Test public void ...

  4. Cocos2dx 学习笔记整理----在项目中使用图片(一)

    cocos2dx有多种使用图片的方法,先来个最简单的:用CCSprite直接使用图片. 首先,进入到之前建立的项目,把你将要使用的图片放入到目录下的Resources文件夹里面.项目中以相对路径使用资 ...

  5. Document Classification

    Natural Language Processing with Python Chapter 6.1 由于nltk.FreqDist的排序问题,获取电影文本特征词的代码有些微改动. import n ...

  6. C++异常(exception)第一篇--综合讲解

    摘要:catch(exception &ex)是捕获所有标准库定义中的类std:exception;catch(...)则是捕获所有的异常. 1.简介 异常是由语言提供的运行时刻错误处理的一种 ...

  7. LPC1768的USB-相关结构体定义

    #ifndef __USB_H__ #define __USB_H__ //usb传输数据的宏定义描述 #include "sys.h" typedef __packed unio ...

  8. tp框架设置 mysql数据库的端口号

    <?php return array( //'配置项'=>'配置值' SHOW_PAGE_TRACE=>true,//开启trace信息 'DB_TYPE' => 'mysql ...

  9. 基于STM32的uCOS-II移植详解

    百度:基于STM32的uCOS-II移植详解 源:基于STM32的uCOS-II移植详解

  10. C#中的逆变和协变

    msdn 解释如下: “协变”是指能够使用与原始指定的派生类型相比,派生程度更大的类型. “逆变”则是指能够使用派生程度更小的类型. 解释的很正确,大致就是这样,不过不够直白. 直白的理解: “协变” ...