zoukankan      html  css  js  c++  java
  • Git学习总结

    一、Git的学习资料

    1、《Pro Git》中文版

    我们可以先看本书的前几章,对git的基本知识进行大致掌握,了解其工作流程。

    2、视频学习

    视频网站:http://www.linecg.com/video/play29775.html

    进行视频学习,这样会让我们更深刻和直观地了解git的工作方式,并且可以学习如何使用git版本控制工具帮助我们管理版本,以及进行团队协作开发。

    3、简单而常用的知识学习

    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

    经过这些学习和实践后,自己在工作中使用git时才能少走弯路。记得我使用git管理时,刚开始直接没看理论书籍,有什么问题就搜网络,在这个过程真的很是煎熬,因为很多东西都只知其一不知其二,导致一些无用功和瞎琢磨。

    二、Git的主体工作流程

    1、本地工作流程

    image

    怎样将工作区内容添加到当前分支呢?

    第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

    第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

    2、远程工作流程

    image

    在建立连接与克隆后,本地项目就可以push到远程仓库,或者再次从远程仓库提取数据。

    三、git客户端使用

    本文所谈的工具使用,主要是指git客户端。我们一般使用git的客户端来管理本地项目,而git的服务器主要是用来协作多人开发的。

    常见的客户端:

    1)Windows平台下

    • cygwin :    

          image

          它是在Windows平台上模拟类UNIX环境的自由软件。

    • msysgit

         image         

         它是在Windows平台下运行类似DOS的软件。

    • tortoisegit:

         image 

         它是在Windows平台下运行的图形界面,由于它是以msysgit为基础  的,所以必须安装msysgit,才能使用tortoisegit。

    3.1 cygwin的安装

    这个网上教程很多,就不一一介绍了,推荐一个安装示例:http://blog.chinaunix.net/uid-20775138-id-3029537.html

    注意点:

    image

    在选择下载站点的镜像时,选择163的这个,因为在中国选择163这个下载点,速度相对其他的下载点而言会快不少。

    技巧:其中一个方便打开cygwin:Windows7下Cygwin加入鼠标右键,打开当前目录

    3.2 msysgit与tortoisegit的安装

    按照默认提示就可以了,当然安装目录最好改一下,如果你C盘容量大,也就无所谓了。

    3.3 使用git客户端在本地工作

    首先单击鼠标右键,可以看到下图:

    image

    说明:OpenCygwin是通过该Windows7下Cygwin加入鼠标右键,打开当前目录教程得到的。

    注意:首次使用git客户端时,都需要配置用户名和Email地址。

    cygwin和msysgit都是在类似Dos界面上工作的,最开始学习时建议使用它们,这样通过输入git命令可以让我们更好的了解和熟悉git。

    具体有哪些命令,可以参考:

    tortoisegit是图形界面工具,我们可以很方便地操作tortoisegit来完成那些复杂命令,不过有时某些特殊命令,还是建议使用cygwin或者msysgit执行。本人是这两种类型的工具都使用,哪种方便就用哪种。

    3.4 使用git客户端与远程仓库交互

          本文以OSChina的git服务器为例,本地要与git服务器通信,当然要使用某种协议达成共识,这样才能通信,比如中国人与俄罗斯人通话,如果中国人说普通话,俄罗斯人说俄语,此时估计他们都听不懂对方说什么,如果他们同时使用国际语言--英语(协议)交流的话,那么问题就一下解决,哇咔咔,合作愉快!

    git常用的协议有https、ssh、git等。

    这里,我主要介绍两种方式https、ssh。

    1、https方式

    部分参考:http://my.oschina.net/jinweida/blog/267325

    1)注册

    链接https://git.oschina.net/,按照步骤进行

    2)创建一个项目

    填入项目名称和项目介绍,项目语言可以空缺,一般勾选初始化项目。

    image

    我已经创建好一个test的项目。

    3)本地克隆OSChina上的test项目

    (1)点击“Git Clone”

    image

    (2)在OSChina上找到test项目的https协议,点击复制

    image

    (3)在点击”Git Clone”弹出如下界面:

    image

    将OSChina上复制的https协议粘贴在URL中,然后点击确定。

    (4)之后先后会弹出,填写在OSChina上的用户名与密码的对话框

    image image

    连接成功后,会弹出如下界面:

    image

    在本地会出现克隆得到的test项目

    image

     

     

    2、ssh方式

    ssh方式连接git服务器,需要公匙和密匙。公匙相当于一把锁,而密匙犹如一把锁的钥匙,它可以打开这把锁,公匙与密匙是配套使用的。公匙是发给git服务器使用的,而密匙是本地git客户端使用的。

    方式一:cygwin

    1)使用cygwin中的SSH工具生成公匙和密匙

    单击右键,选择OpenCygwin,打开cygwin的命令行窗口,输入

    ssh-keygen -t rsa -C "电子邮箱地址“

    然后确定,确定。。。最后在cygwin安装的文件夹下会生成两个文件,路径为C:cygwinhomeAdministrator.ssh。

    注意:Administrator为电脑的用户,如果你添加了其它用户,并使用了其它用户安装了cygwin,那么这里用户需要改成你所添加的用户。

    image

    2)把生成的id_rsa.pub公匙文件用记事本之类的文本编辑软件打开,复制里面的内容,将其添加到OSChina的SSH公匙里。

    OSChina如何将id_rsa.pub公匙里的内容添加到SSH公匙里呢?

    (1)首先在浏览器上输入http://git.oschina.net/keys,之前登录后才能进去哦。

    image

    这里我已经添加了两个SSH公匙,点击”添加公匙“,后转到如下界面

    image

    填写标题与粘贴公匙后,点击”保存“,就完成了在git服务器上SSH公匙的添加。

    3)查看公匙是否配置成功

    ssh -T git@git.oschina.net

    如果成功返回提示信息如下图

    image

    4)输入克隆命令

    git clone git@git.oschina.net:用户名/test.git
    用户名是你在OSChina里使用的名字

    image

    git@git.oschina.net:用户名/test.git的来源于OSChina的test项目的SSH协议,如图:

    image

    点击复制,即可获得。

    5)接下来就可以本机上对克隆的项目进行修改,push,pull,fetch等操作了。

    方式二:msysgit

    msysgit与cygwin方式类似,如果首先使用了cygwin生成公匙与密匙,那么在C:UsersAdministrator查看是否有.ssh文件夹?

    如果没有,就将cygwin所生成的.ssh整个文件夹复制过来,即可。

    如果有,就将cygwin里所生成的”id_rsa“和”id_rsa.pub“复制进来。

    这样就完成了与OSChina git服务器的连接配置。然后就可以按照方式一中的3)、4)、5)步骤进行了。

    如果之前没有使用cygwin生成公匙和密匙的话,那可以参照方式一的步骤进行公匙和密匙的生产以及其它配置。

    方式三:tortoisegit

    tortoisegit与方式二类似,但是有两点不同,一是密匙的格式不同,二是在tortoisegit客户端显式地

    tortoisegit本身是基于msysgit上运行的,按道理,它直接使用在C:UsersAdministrator.ssh文件夹下的公匙与密匙就可以了,但是它所使用密匙格式不同,它的密匙是.ppk文件,因而要为它转换密匙的格式。

    1)打开tortoisegit安装目录,bin文件夹下的”puttygen.exe“工具,打开它,然后点击”load“,加载id_rsa密匙,最后点击保存密匙,就可以得到tortoisegit专有的密匙,例如tortoiseKey.ppk。

    image

    2、在克隆时,要显式地添加密匙

    image

    URL的填写还是复制OSChina上test项目的SSH协议,最关键的是要点击添加tortoisegit的专属密匙,最后确定就可以克隆远程仓库上的项目了。

    小结:

    方式一、二、三主要区别还是在密匙的生成上以及添加上。OSChina的git服务器上是使用统一的公匙。

    git服务器使用公匙来达到锁门效果,而git客户端使用相应的密匙来打开这把锁,然后才能与之交互。

  • 相关阅读:
    TextBox 只有下划线
    can't find web control library(web控件库)
    DropDownListSalesAC”有一个无效 SelectedValue,因为它不在项目列表中。
    IDE、SATA、SCSI、SAS、FC、SSD 硬盘类型
    如何打印1px表格
    CSS控制打印 分页
    Virtual Server could not open its emulated Ethernet switch driver. To fix this problem, reenable the Virtual Server Emulated Et
    Xml中SelectSingleNode方法中的xpath用法
    热带水果莫入冰箱?水果存放冰箱大法
    探索Asp.net的Postback机制
  • 原文地址:https://www.cnblogs.com/aoguren/p/4189086.html
Copyright © 2011-2022 走看看