首页 > 代码库 > git的介绍及使用

git的介绍及使用

一、git是什么

    Git是目前世界上最先进的分布式版本控制系统。svn也是版本控制系统。

    SVN与Git的最主要的区别:

    SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本。

    然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就不好使了。

    Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。

    既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

 

二、git的作用

     git其实就是一座通向GitHub的桥梁。我们可以通过git把本地项目上传到GitHub,同时也可以通过git从GitHub上取项目到本地。

 

三、git的操作使用

      git可以用命令行操作,也可以使用图像界面操作。这里主要介绍Windows下使用git。

      Windows下使用git得用到msysgit和TortoiseGit。

      msysgit就是git版本控制工具,TortoiseGit是一个开放的GIT版本控制系统的源客户端。

      1)下载及安装msysgit和TortoiseGit

  1. 首先你得安装windows下的msysgit。
  2. 安装版本控制器客户端TortoiseGit [不习惯英文的朋友,也可以下个语言包]。

      技术分享

       msysgit安装很简单,一路选择默认即可。 

       安装好git以后,右键,会发现菜单多了几项关于GIT的选项

       技术分享

 

    TortoiseGit-1.8.12.0-64bit.msi安装图解:

       1:双击安装程序 TortoiseGit-1.8.12.0-64bit.msi. 弹出安装向导界面:

       技术分享

 

    2:直接点击下一步(Next)即可

     技术分享

 

  3、下 一步,选择SSH客户端. 可以选择 TortoiseGitPlink(位于TortoiseGit安装目录/bin 下), 也可以选择 Git 默认的SSH客户端,位于 Git安装目录/bin/ssh.exe(如果配置了 Path,那直接是 ssh.exe)

技术分享

4:接着是选择安装目录,可以保持默认,或者安装到开发环境目录下,安装的程序组件保持默认即可:

 

技术分享

 

5:下一步到确认安装界面,点击 Install按钮安装即可,如下图所示

技术分享

 

6:安装完成,点击 Finish 按钮即可:

技术分享

 

7、如果以前有老版本,则选择覆盖,关闭旧程序并尝试重启即可

安装好TortoiseGit之后,鼠标右键,发现会多了几项关于TortoiseGit的选项

技术分享

 

2)语言包安装图解(直接点下一步即可):

(4)配置

1. 首先,请选定一个存放Git项目的目录,这样管理方便. 如: F:\STUDY\GIT_STUDY , 然后在资源管理器中打开.

2. 在空白处点击鼠标右键, 选择 --> TortoiseGit --> Settings, 然后就可以看到配置界面:

技术分享

 

3. 选中General,在右边的 Language中选择中文. 不勾选自动升级的复选框,可能还需要指定 Git.exe 文件的路径,如 "D:\DevlopPrograms\Git\bin". 完成后,点击应用,确定关闭对话框.(当然,你也可以继续使用英文)

4. 再次点击鼠标右键,可以看到弹出菜单中已经变成中文. 原来的 Settings 变成 设置; Clone 变为 克隆.

5. 配置右键菜单. 在设置对话框中,点选左边的"右键菜单",然后在右边将所有的复选框都去掉,这样右键菜单显得比较干净:

技术分享

 

6.设置记住密码

!!!!! 密码会明文保存在 C:\Users\Administrator\.git-credentials 这种文件中, 请小心使用.

进入设置, 点选左边的Git标签.可以发现,右边可以配置用户的名字与Email信息. 如下图所示:

技术分享

 

因为当前还没有本地项目,所以 “编辑本地 .git/config(L)” 按钮处于灰色不可用状态,如果在某个本地Git项目下打开配置对话框,那么这个按钮就可用,然后就可以编辑此项目的一些属性。

点击 “编辑全局 .git/config(O)”按钮,会使用记事本打开全局配置文件,在全局配置文件中,在后面加上下面的内容:

[user]
  name = github用户名
email = github注册邮箱
[credential]
#helper = cache helper = store

完成后保存,关闭记事本,确定即可。

则当你推送项目到GitHub等在线仓库时,会记住你输入的用户名和密码(这里不是用户的姓名和Email哦.)

如果你编辑的是 本地 .git/config(L),其实这个翻译为本地有点问题,应该叫局部,也就是在某个项目下面设置,只对此项目有效.配置是一样的.

  • 用户名: 就是你注册的账号,如: tiemaocsdn
  • 密码: 当然是注册时填写的密码: *********
  • Email: 是你的联系邮箱,给别人联系你时使用
  • 用户姓名/昵称: 可以随便取,但最好有点意义

 

  2)TortoiseGit例子演示

       主要从克隆、修改提交、添加提交、pull更新本地仓库这几个方面介绍。

      A:从GitHub上取项目到本地(克隆,可看作是svn上的checkout)

    1、打开资源管理器(我的电脑/计算机), 进入规划好的某个目录中, 然后在空白处点击鼠标右键, 选择 TortoiseGit --> 克隆... (Clone...).

       技术分享

       弹出克隆项目对话框:

        技术分享

       

  在对话框的 URL中输入项目地址,如:

   https://github.com/cncounter/LispGentleIntro.git

确定本地目录,然后点击 确定 按钮. 等待完成后,点击关闭按钮即可
技术分享

 

    B 修改提交项目

       修改本地项目中的某些文件,如 将 README.md 修改为如下内容:       

       # my_work
       it is a mateur project
       test commit work

      然后在本地项目的空白处点击鼠标右键, 选择 TortoiseGit --> 提交(C) -> "master"... 或: Commit -> "master"....

      技术分享

 

 

     弹出提交(Commit)对话框:

     技术分享

    例如:

         技术分享

 

 

     作为好习惯,填写提交日志,勾选需要提交的文件,然后点击 "确定" 按钮, 即提交到本地仓库

    技术分享

    例如:

       技术分享

 

     将提交到本地的项目推送到在线仓库

       推送是提交的下一步操作

      在本地项目的空白处点击鼠标右键, 选择 TortoiseGit --> 推送... 或: Push....

     技术分享

 

 

    弹出推送(push)对话框:

   技术分享

   

     一般保持默认,点击 “确定” 按钮.

     然后弹出推送进度界面, 可能要求你输入用户名:

    技术分享

 

  例如:

       技术分享

 

   确定OK,然后要求输入密码:

    技术分享

    例如:

        技术分享

 

 

   密码输入正确后,OK,显示推送成功界面:

   技术分享

  例如:

     技术分享

 

  如果你按照上一小节的设置操作,则输入密码以后会记住密码. 密码会明文保存在 C:\Users\Administrator\.git-credentials 这种文件中, 请小心使用.

  查看历史记录;

   右键->tortoisegit->showlog

   技术分享

   查看修改的文件

   技术分享

 

    C 添加上传的文件

     右键->tortoisegit->add

      技术分享

 

     技术分享

     提交本地仓库

     技术分享

 

   技术分享

  上传到远程仓库

    技术分享

   上传成功

    技术分享

 

    D pull 从远程到本地

       如果本地的项目没有在线仓库的新,则需要执行拉取操作(Pull ...)

      在本地项目的空白处点击鼠标右键, 选择 TortoiseGit --> 拉取... 或: Pull....

     技术分享

 

       技术分享

 

   查看历史记录

  

   技术分享

 

git的介绍及使用