版本控制这块,一直用SVN。感觉挺好用,比VSS要好用些。不过,近期在网上,又谈到时下很流行的Git。就想看看Git到底是何方神圣。趁着五一在家无事,就静下心来,简单研究一下。

  当下,网络上提供的基于Git代码托管服务的网站,流行的有下面几个:

https://gitcafe.com/

https://code.csdn.net/

http://git.oschina.net/

http://www.github.com/

  以https://code.csdn.net/为例,演示如何把本地代码传输到网络代码版本控制中。

  首先,当然还是百度查相关资料。不过不知道是我理解力太差,还是网上各个大神们说的不是太有条理,看了很多资料,总是让人云里雾里。还好有虚拟机,在虚拟机中,经过N多次试验,终于理出来自认为一套简单的、易于理解的操作流程。整理一下,利于以后参考,也希望自己亲身测试的流程,能给其他人以参考,少走一些弯路。至于为什么要这么做,命令的意思,在这里不做解释。感兴趣的可以研究Git(显示的图片如果内容不清晰,可以单击此图片,来查看大图)。

利用的软件:

软件

下载地址

Git(版本Git-1.9.2)

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

TortoiseGit(版本TortoiseGit-1.8.8.0)

http://code.google.com/p/tortoisegit/

TortoiseGit语言汉化包

http://code.google.com/p/tortoisegit/wiki/Download?tm=2

操作系统:

Win7(在server 2003或者Win8上大同小异,也测试成功)。

提供下载:

利用Git和TortoiseGie把代码传输到网络服务器 PDF文件

正式开始:

注意流程。我把每一个流程写的很短,中间有分割线分割。易于查看):

一、 软件安装和注册账户

1、 安装Git。按照默认安装,到这一步的时候,界面如下:

选择第二项,这样,安装完毕后,在Windowns系统的右键菜单中,将出现

2、 安装TortoiseGit。默认安装就行。

3、 安装TortoiseGit语言汉化包。默认安装。安装完毕后,设置TortoiseGit为中文(这个不难,在此就不讲了)。

4、 注册账户。

浏览器中,打开https://code.csdn.net/注册一个账户。注册完毕之后,到这个界面。

(记住上面提到的名字和你的注册邮箱。后面配置TortoiseGit的时候要用到)

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

二、 配置TortoiseGit

1、 在windows系统中,单击右键,如图所示:

选择“TortoiseGit-->设置”。

2、 配置Git在windows系统中的路径。在设置界面中,选择“常规设置”

3、 配置用户名和邮箱。在设置界面,选择“Git”。界面右端,选中“全局”。在名字和Email中,填写注册CSDN时(流程一)提到的名字和邮箱。

4、 配置SSH。在设置界面,选择“网络”。默认SSH设置为:

点击“浏览”,设置路径为Git的SSH.exe。一般在Git的安装目录Bin下边。有一个ssh.exe的文件,选中。如图所示:

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

三、 配置本地版本库和CSDN上的工程。

1、 假设现在已经存在一个工程,以我的本地工程为例。

2、 在上面的文件夹下,单击右键,在弹出的界面中,

选择Git Init Here。完毕后,文件夹中的文件变成这样(windows server 2003中,有一个刷新的问题,有时候不会立马出现蓝色的问号,你可以重启计算机后,再看是否已经有了这个符号,win7和win8系统中不存在这个问题):

3、 在已经Git Init Here的文件夹下,单击右键,右键菜单增加了几项,

4、 在(3)的基础上,选择Git Commit Tool,弹出:

操作步骤:缓存改动-->初始化提交描述(在下面的输入框中,填写一句话,主要是描述为什么要提交)

->提交。

5、 提交成功后。文件夹变成这样

6、 在CSDN中,创建项目

填写项目名称,勾掉“使用README文件初始化项目”。点击“创建”。本地项目WindowsFormsApplication1在网络上的版本库已经创建好了。

其中,git@code.csdn.net:cgl316myh/windowsformsapplication1.git就是你的网络版本库的地址。

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

四、 生成windowsformsapplication1版本控制库密钥并把公钥字符串填写到CSDN对应的项目中。

1、 在windows系统中,右键,

选择Git Bash。弹出Git的命名窗口。

在窗口中输入:ssh-keygen.exe –t rsa –C “你的注册CSDN 时,用到的Email” 回车。

继续回车。要求为密钥输入密码:可以输入,也可以不输入。如果输入了,一定要记住,后边会用到。例子中,输入了密码。

输入完毕后,显示如下信息

打开路径C:\Users\Administrator\.ssh。文件夹下有两个文件:

这个密钥是针对windowsformsapplication1的,如果有另外一个工程,需要重新生成密钥,步骤是一样的。不过,生成之前要保存好你的密钥文件(id_rsa和id_ras.pub),因为重新生成会覆盖前一个密钥。

2、 将id_rsa.pub中的公钥字符串复制到CSDN项目中。系统中右键用记事本打开id_rsa.pub,公钥字符串如下:

全选,拷贝。

3、 在CSDN上,导航到windowsformsapplication1工程。

点击“项目设置”。导航到“项目公钥”。

点击“添加公钥“,在输入框中,粘贴id_rsa.pub文件中所有的字符串。需要注意的是,字符串结尾(邮箱后面)不能有空格。即粘贴后,按一下键盘上的 回格(Backspace)键。

4、 点击保存。保存windowsformsapplication1的公钥文件。一定要确认保存到了工程中,否则文件传输不上去。

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

五、 上传本地windowsformsapplication1CSDNwindowsformsapplication1中。

1、 前提,生成id_rsa公钥文件的putty密钥。在windows开始菜单中,选择“TortoiseGit -->puttygen”。

2、 在puttygen界面中,单击“Load”按钮,选择id_rsa.pub公钥所在文件夹下的与之相对应的文件id_rsa。没有后缀的这个文件。

弹出输入公钥的密码输入框(密码就是流程四中,你设置的公钥密码),

输入完毕后,界面如下:

3、 点击“Save private key”,保存私钥。这个私钥文件一定要保存好,后期上传网络版本库时,要用到。后缀为*.ppk

4、 私钥生成完毕。

5、 在本地windowsformsapplication1工程文件夹下,单击右键,选择“TortoiseGit(T)-->推送”。

6、 在弹出的“推送”界面中,如下所示:

点击远端后的“管理”按钮。弹出远端版本库地址设置界面:在URL中输入CSDN中windowsformsapplication1工程的地址:

git@code.csdn.net:cgl316myh/windowsformsapplication1.git

在putty密中,输入上面刚刚生成的putty密钥文件

设置完毕后是这样子的:

点击“确定”按钮。

7、 回到“推送”界面,在远端下拉框中,选择刚刚设置的远端的名称。

点击“确定”按钮。填写你生成密钥时的密码(密码就是流程四中,你设置的公钥密码),:

弹出传输成功对话框。

8、 在CSDN上,点击“查看代码”。

代码已经上传到网络版本库。

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

六、 下载CSDNwindowsformsapplication1工程。

1、 在windows系统中,任意一个盘符下,新建一个空白文件夹。在空白文件夹下,单击右键,选择“Git克隆”

在弹出界面中,输入CSDN中windowsformsapplication1的地址:git@code.csdn.net:cgl316myh/windowsformsapplication1.git

点击“确定”按钮,弹出输入公钥密码界面,输入密码(密码就是流程四中,你设置的公钥密码):

开始下载网络版本库中的代码,下载成功后,显示:

本地文件夹下文件为:

不容易啊,终于写完了。希望对被人能有所帮助,也欢迎转载,不过转载后,一定要提提我的网址啊,太不容易了!吃水不忘挖井人啊!

Git学习:利用Git和TortoiseGit把代码传输到网络服务器的更多相关文章

  1. git学习——<五>git分支

    git学习——<一>git安装 git学习——<二>git配置文件 git学习——<三>git操作 git学习——<四>git版本管理 一.提出问题 今 ...

  2. 【学习总结】【Java】Git学习-上传本地已有代码到GitHub

    < Git学成归来后的第一次实战 > 上传本地已有代码到GitHub 以之前学了一小半的Java基础教程代码为例 <深坑预警:在GitHub新建仓库那一步,不要勾选readme,不然 ...

  3. Git学习记录--git仓库

    Git是一款强大的版本控制工具,与svn相比git的分布式提交,本地仓库等在使用时确实比较方便.当然两者之间各有优劣,我在这里不多做比较.由于之前少有接触git,只是零星大致地了解一点,所以找时间系统 ...

  4. Git 学习之git 分支(三)

    Git 分支 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作.在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的 ...

  5. git 学习(1) ----- git 本地仓库操作

    最近在项目中使用git了,在实战中才知道,以前学习的git 知识只是皮毛,需要重新系统的学一下,读了一本叫  Learn Git in a Month of Lunches 的书籍,这本书通俗易懂,使 ...

  6. Git 学习之Git 基础(二)

    Git 基础 读完本章你就能上手使用 Git 了.本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置: ...

  7. Git 学习之git 起步(一)

    起步 本章介绍开始使用 Git 前的相关知识.我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作.读完本章,你就会明白为什么 Git ...

  8. Git 学习之 Git Basics

    最近在用git,但git学习曲线实在是有点高. 好在找到一个文档 https://www.atlassian.com/git/tutorial/,以下就是学习笔记吧! git init git ini ...

  9. git 学习(4) ----- git rebase

    使用git rebase 的前提是多人协作下的分支开发,如果是单人开发,那就没有必要使用它了,这是由git rebase 的作用所决定的,git rebase 有两大作用:一个是与主分支保持同步,一个 ...

随机推荐

  1. C# 字符串转义和反转义

    System.Text.RegularExpressions.Regex.Unescape(s) System.Text.RegularExpressions.Regex.Escape(s)

  2. python 学习笔记-----编码问题

    1.python 最早支持的是ASCII编码. 所以对于普通的字符串"ABC"为ASCII编码的形式.字母和数字之间的转换函数为ord('字母')和chr(‘数字’)函数. ord ...

  3. hdu 1032

    题目的意思是把输入的i,j 从i到j的每一个数 做循环,输出循环次数最大的值 易错的地方:做循环是容易直接用i进行计算 i=i/2:或i=i*3+1: 这样i的值改变就不能在做下面数的循环 #incl ...

  4. easyui-textbox 和 easyui-validatebox 设置值和获取值

    表单作如下定义:该input使用easyui的"easyui-textbox" <input id="addSnumber" style="wi ...

  5. 完美实现跨域Iframe高度自适应【Iframe跨域高度自适应解决方案】

    Iframe的强大功能偶就不多说了,它不但被开发人员经常运用,而且黑客们也常常使用它,总之用过的人知道它的强大之处,但是Iframe有个致命的“BUG”就是iframe的高度无法自动适应,这一点让很多 ...

  6. java中怎么在table上显示数据

    连接oracle:String result = ""; // 查询结果字符串 String sql = "select * from test"; // SQ ...

  7. Oracle 分析函数之 lag和lead

    Lag和Lead分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(Lead)作为独立的列. 这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率. /*语法*/   ...

  8. linux命令每日一练习-rmdir mv

    rmdir 删除一个空的文件夹,当目标文件夹非空的时候不能删除 mv 移动文件或目录 mv source target mv -i *** *** 如果目标文件存在则询问是否覆盖 mv -f *** ...

  9. SQL Server基本函数

    1. 字符串函数 1.1 datalength( char_expr ) ,返回表达式的字节数,不包含尾随空格 返回类型:如果 expression 的数据类型为 varchar(max).nvarc ...

  10. Centos上的安装openoffice+unoconv+swftools (转)

    ############################## #    swftools的安装     # ############################## 1.安装所需的库和组件 yum ...