安装以及使用Git

**毕业半年了,一直使用的公司的gtiLab,到现在都没能取尝试尝试着学习本地使用git以及github;如今学习到SpringCloud核心组件Config才想着系统的来学习下如何本地安装以及使用git;

1、首先,我们需要了解什么是git?
git是一个开源的分布式版本控制系统,用于敏捷高效的处理或大或小的项目,其是Linus Torvalds为了方便管理Linux内核而开发的一个开源的版本控制软件。并且其与常用的版本控制工具CVS、subversion等不同,它采用的是分布式版本库的方式,不需要服务端软件支持。

2、Git与SVN的区别?
(1)git不仅仅是一个版本控制系统,它也是一个内容控制系统(CMS),工作管理系统等;

(2)主要区别点:
2.1. Git是分布式的,SVN不是;这是Git与其他版本控制工具(SVN、CVS)最核心的区别;
2.2. Git把内容按元数据方式存储,而svn是按照文件:除Git之外所有的资源控制系统都是把文件的元信息隐藏在一个类似.svm .cvs等文件夹里;
2.2.1. 这里稍微扩展一下什么是元数据?元信息?(大佬写的很形象!原文传送门

元数据是用来描述数据的数据(Data that describes other data)。单单这样说,不太好理解,我来举个例子。

下面是契诃夫的小说《套中人》中的一段,描写一个叫做瓦莲卡的女子:

(她)年纪已经不轻,三十岁上下,个子高挑,身材匀称,黑黑的眉毛,红红的脸蛋--一句话,不是姑娘,而是果冻,她那样活跃,吵吵嚷嚷,不停地哼着小俄罗斯的抒情歌曲,高声大笑,动不动就发出一连串响亮的笑声:哈,哈,哈!

这段话里提供了这样几个信息:年龄(三十岁上下)、身高(个子高挑)、相貌(身材匀称,黑黑的眉毛,红红的脸蛋)、性格(活跃,吵吵嚷嚷,不停地哼着小俄罗斯的抒情歌曲,高声大笑)。有了这些信息,我们就可以大致想像出瓦莲卡是个什么样的人。推而广之,只要提供这几类的信息,我们也可以推测出其他人的样子。

这个例子中的"年龄"、“身高”、“相貌”、“性格”,就是元数据,因为它们是用来描述具体数据/信息的数据/信息。

当然,这几个元数据用来刻画个人状况还不够精确。我们每个人从小到大,都填过《个人情况登记表》之类的东西吧,其中包括姓名、性别、民族、政治面貌、一寸照片、学历、职称等等…这一套元数据才算比较完备。

元数据最大的好处就是它使信息的描述和分类可以实现格式化,从而为机器处理创造了可能。

在日常生活中,元数据无所不在。有一类事物,就可以定义一套元数据。 作者:承诺一时的华丽
链接:https://www.jianshu.com/p/abd09ccd9842

2.3.Git分支与SVN的分支不一样:分支在SVN中一点都不特别,其实它就是版本库中的另外一个目录;

2.4. Git没有一个全局的版本号,而svn有:目前这是Git与svn相比缺少的最大的一个特征;

2.5. Git的内容完整性要优于svn:Git内容存储使用的是SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到网络问题和磁盘故障时降低对版本库的破坏;

2.6 适合分布式开发,强调个体

2.7 公共服务器压力和数据量都不会太大

2.8 速度快、灵活:任意的两个开发者之间可以很容易的解决冲突,用户可以随时创建、合并、删除分支,多人实现不同的功能,可以创建多个分支进行开发,之后进行分支合并;

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

3、Git下载与安装
1、我们百度搜索git官网(这里推荐到国内的帖子上找下载链接,国外的网速实在太慢了!)
2、1、选择windows版,如下图:
在这里插入图片描述
2、选择与系统匹配的版本进行下载(32bit/64bit),如下图:

在这里插入图片描述

3、下载完成后,如下图:

在这里插入图片描述

git安装

1、双击git安装程序,打开安装界面。然后点击“Next”,如下图:

在这里插入图片描述

2、选择git安装目录,如下图:

在这里插入图片描述

3、选择需要安装的git组件,如下图:

在这里插入图片描述

*注:

(1)图标组件(Addition icons) : 选择是否创建桌面快捷方式。
(2)桌面浏览(Windows Explorer integration) : 浏览源码的方法,使用bash 或者 使用Git GUI工具。
(3)关联配置文件(Git LFS) : 是否关联 git 配置文件, 该配置文件主要显示文本编辑器的样式。
(4)关联shell脚本文件 : 是否关联Bash命令行执行的脚本文件。

(5)使用TrueType编码(Use a TrueType) : 在命令行中是否使用TruthType编码,
该编码是微软和苹果公司制定的通用编码。

(6)git更新情况检查(Check for git) : 每日检查Git是否更新。

4、开始菜单快捷方式目录设置,开始菜单中快捷方式的目录名称,可自定义, 也可以选择不在开始菜单中创建快捷方式,如下图:

在这里插入图片描述

5、选择git所使用的默认编辑器,如下图:

在这里插入图片描述

6、选择使用命令行环境,使用git命令行工具和windows命令行工具都可以的,如下图(一般选择中间默认):

在这里插入图片描述

*注:
(1)Git自带:使用Git自带的Git Bash命令行工具。

7、下面一直默认安装
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

10、git各项配置完成后,点击“Install”,开始安装,如下图:
在这里插入图片描述
11、安装完成后,点击“Finish”,会进入到当前安装Git版本的简介,如下图:
在这里插入图片描述

12、验证git是否安装成功,在桌面右键,选择 “Git Bash Here”,然后输入“git”,出现帮助信息,说明我们的Windows下Git服务器端安装成功,如下图:
在这里插入图片描述
成功安装!

这一部分我们将如何使用git本地库的文件上传至github

1、什么是github?
github,是一个面向开源的以及私有项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名gitHub。
2、我们如何使用git将本地文件上传关联至github?

  1. 首先先登录github,新建一个目标仓库,这里我们就叫microservice-cloud-config;在这里插入图片描述
  2. 然后拷贝我们的https的git仓库地址:在这里插入图片描述
  3. 然后克隆远程库到我们本地仓库:新建一个本地文件夹,然后右击弹出Git bash here,在里面输入 git clone 以及我们刚才拷贝好的https仓库地址,我们可以看到该文件夹中会出现一个于远程仓库同名的文件夹;在这里插入图片描述
  4. 在刚才通过git命令建好的本地仓库文件夹中直接新建一个application.yml(此前为演示,现实场景中可以为任意的目标文件)
  5. 右击出Git bash here;在这里插入图片描述
  6. 我们这里举例将该文件夹下面的microservice-config-application.yml上传至github;(这里为了频繁的截图标注,我一次性将所有操作标上)在这里插入图片描述
    3.看不清楚的话,我们这里还有代码块:
 zjm@DESKTOP-GC5H9FP MINGW64 /d/GitStudy/SpringCloud/microservice-cloud-config (master)
$ ll
total 1
-rw-r--r-- 1 zjm 197121 472 1月  17 09:58 microservice-config-application.yml

zjm@DESKTOP-GC5H9FP MINGW64 /d/GitStudy/SpringCloud/microservice-cloud-config (master)
$ cd microservice-cloud-config
bash: cd: microservice-cloud-config: No such file or directory

zjm@DESKTOP-GC5H9FP MINGW64 /d/GitStudy/SpringCloud/microservice-cloud-config (master)
$ git add microservice-config-application.yml

zjm@DESKTOP-GC5H9FP MINGW64 /d/GitStudy/SpringCloud/microservice-cloud-config (master)
$ git commit -m "first commit..." microservice-config-application.yml
[master (root-commit) a17329e] first commit...
 1 file changed, 20 insertions(+)
 create mode 100644 microservice-config-application.yml

zjm@DESKTOP-GC5H9FP MINGW64 /d/GitStudy/SpringCloud/microservice-cloud-config (master)
$ git push origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 539 bytes | 539.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/zhengjiaming1995/microservice-cloud-config.git
 * [new branch]      master -> master

zjm@DESKTOP-GC5H9FP MINGW64 /d/GitStudy/SpringCloud/microservice-cloud-config (master)
$

至此,我们的上传工作就完成了,在github上我们直接刷新即可看到我们上传的application.yml文件;
在这里插入图片描述
这里我们来总结一下git的常用命令行:

$ cd microservice-cloud-config    #进入到本地仓库目录
$ git add microservice-config-application.yml   #添加到暂存区

$ git commit -m "这里可以写上提交时的描述" microservice-config-application.yml  #提交到本地库(后面那个文件名可直接按"Tab"键弹出)

$ git push origin master  #推送到远程库origin的master主分支上

注意:当我们对本地库(文件夹)下的同一个文件进行重复提交时,我们需要对其内容进行修改,不然会报错;而且提交到本地库的指令一定得写对;git commit -m “提交的问题描述” (按tab键可直接弹出要提交的文件名)

关于报错:On branch master Your branch is ahead of ‘origin/master’ by 1 commit. (use “git push” to publish your local commits)

1、当运行git status,git会将它的本地分支dev与它正在追踪的远程分支进行比较(origin/master),因为origin/master没有被改变,它仍然是当前dev的分支(和origin/dev)后面的1提交/更改,所以会出现提示。简而言之,也就是说我们的本地分支没有被改变(将其内容改变并且重复提交就不会报此错),并且没有及时的将其推送到远程origin/master,故会出现此错误;

发布了26 篇原创文章 · 获赞 9 · 访问量 740

猜你喜欢

转载自blog.csdn.net/z19950712/article/details/104011123
今日推荐