• 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客户端使用相应的密匙来打开这把锁,然后才能与之交互。

  • 相关阅读:
    myBatis07 案例实践
    mySql开启远程连接
    myBatis05 ResultMap
    centos7.8使用yum安装mysql5.7.30图文结合,手把手教会你
    flowable: parent 'xxxxxx' was updated by another transaction concurrently
    如何在后台运行Linux命令或者脚本
    Linux查看系统是32位还是64位
    Linux中的硬链接和软链接
    Linux中计算文本行数与字数必备命令WC的用法
    Linux中8个有用的touch命令
  • 原文地址:https://www.cnblogs.com/aoguren/p/4189086.html
Copyright © 2020-2023  润新知