安裝以及使用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,故會出現此錯誤;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章