Git介绍

分布式:Git版本控制系统是一个分布式的系统,是用来保存工程源代码历史状态的命令行工具。

保存点:Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目的状态;可以在该保存点将多人提交的源码合并, 也可以回退到某一个保存点上。

Git离线操作性:Git可以离线进行代码提交,因此它称得上是完全的分布式处理,Git所有的操作不需要在线进行;这意味着Git的速度要比SVN等工具快得多,因为SVN等工具需要在线时才能操作,如果网络环境不好, 提交代码会变得非常缓慢。

Git基于快照:SVN等老式版本控制工具是将提交点保存成补丁文件,Git提交是将提交点指向提交时的项目快照,提交的东西包含一些元数据(作者,日期,GPG等)。

Git的分支和合并:分支模型是Git最显著的特点,因为这改变了开发者的开发模式,SVN等版本控制工具将每个分支都要放在不同的目录中,Git可以在同一个目录中切换不同的分支。

分支即时性:创建和切换分支几乎是同时进行的,用户可以上传一部分分支,另外一部分分支可以隐藏在本地,不必将所有的分支都上传到GitHub中去。

分支灵活性:用户可以随时创建、合并、删除分支,多人实现不同的功能,可以创建多个分支进行开发,之后进行分支合并,这种方式使开发变得快速、简单、安全。

Git客户端下载

官网下载地址:https://git-scm.com/downloads/

Git客户端安装过程——Windows系统

在windows上如何安装Git?

  msysgit是 windows版的Git,如下:

  需要从网上下载一个,然后进行默认安装即可。安装完成后,在开始菜单里面找到 "Git --> Git Bash",如下:

  会弹出一个类似的命令窗口的东西,就说明Git安装成功。如下:

  安装完成后,还需要最后一步设置,在命令行输入如下:

  因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。

  注意:git config  --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。

Git使用

  一、创建版本库。

  什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。

  所以创建一个版本库也非常简单,如下我是D盘 –> www下 目录下新建一个testgit版本库。

  pwd 命令是用于显示当前的目录。

  1. 通过命令 git init 把这个目录变成git可以管理的仓库,如下:

  这时候你当前testgit目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。如下:

  2. 把文件添加到版本库中。

  首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。

Git的更多使用请详看另外两篇博客:

博客链接:https://www.cnblogs.com/linxiu-0925/p/4989359.html

参考链接:https://www.cnblogs.com/smuxiaolei/p/7484678.html

最新文章

  1. CSS侧边栏宽度不动(更改页面宽度时),内容区宽度自适应
  2. 学习笔记:腾讯云——服务器mysql操作
  3. python表达式操作符【学习python必知必会】
  4. linux下一步一步安装禅道项目管理工具
  5. 轻松了解Spring中的控制反转和依赖注入(二)
  6. 【Unity3D游戏开发】Application.systemLanguage无法区分简体中文和繁体中文 (二六)
  7. 《Code Complete》ch.16 控制循环
  8. Android开发-API指南-AIDL
  9. YII Framework 1.0运行时序图分析过程
  10. cf B George and Round
  11. Tiling
  12. 转:ElasticSearch的安装和相关插件的安装
  13. 三个C++资源链接(大量)
  14. URL编码和Base64编码 (转)
  15. Myeclipse+selenium2.0+Junit+TestNg环境搭建
  16. CSS Zoom属性
  17. 在Java中,你真的会日期转换吗
  18. 洛谷P1309 瑞士轮
  19. C# 导出excel文件处理科学计数法办法
  20. URAL - 1902 Neo-Venice

热门文章

  1. 讨论SQL语句中主副表之间的关系
  2. 2、HDFS交互式Shell
  3. LeetCode 787. Cheapest Flights Within K Stops
  4. gin内置验证器使用
  5. Mac OSX上安装SublimeText 3编译Processing 3.0
  6. rust学习(二)
  7. C博客作业03——函数
  8. c博客作业01——顺序 分支结构
  9. 选择排序python实现
  10. nRF51822 硬件复位引脚