腳踏實地學習Git

roc_guo發表於2021-11-25

從事IT行業的朋友們,不管是做開發,測試或者運維,肯定對git,gitub,gitLab工具都不陌生,它是我們日常工作必不可少的工具。今天就詳細介紹git的使用,希望能夠對你有所幫助。

(一)   git是什麼?

git是一個版本控制系統,可以回滾到你提交的任何版本,就好比提交畢業論文的時候,每次修改後都要儲存一個版本,以防我們任何一個版本修改錯誤要改回原來的版本。

(二)   git,gitub, gitLab的區別

git是一個工具,gitub是分散式線上版本控制系統,gitLab是gitub的私有版本。

現在應該對git是幹什麼的有一個初步的印象,下邊就詳細介紹下git在日常工作中是怎麼使用、操作以及有哪些注意事項。

(三)   git的使用

(1)   安裝git工具

在開始使用 Git 前,我們需要將它安裝在計算機上。 如果已經安裝,最好將它升級到最新的版本。我們可以透過軟體包或者其它安裝程式來安裝。

在 系統上,如RHEL或Centos,我們可以執行如下命令:

      sudo dnf install git-all

在Macos作業系統上,有多種安裝git的方式,最簡單的方法是安裝 Xcode Command Line Tools,大家可以自行查閱適合自己的方法。

在windows系統上,我們可以在 Git 官方網站下載安裝包然後安裝。當然,另一種簡單的安裝方法是安裝 GitHub Desktop。 該安裝程式包含圖形化和命令列版本的 Git註冊gitub

(2)   註冊gitub

需要使用者輸入使用者名稱和密碼註冊一個gitub使用者。

(3)   配置gitub

a. 設定git的user name 和email

 設定git的username的命令:git  config --global user.name 使用者名稱

設定git的email的命令:git  config --global user.email 郵箱

注:git config --list 檢視當前Git環境所有配置,還可以配置一些命令別名之類的。

b. 檢查是否存在SSH Key

 我們可以先切換到~/.ssh目錄下,然後執行ls檢視是否有公鑰檔案,如下圖所示:

 

 

c. 若沒有,則執行以下命令生成

ssh-keygen -t rsa -C “郵箱地址”

d. 輸入以上命令,然後3個回車

e. 獲取SSH Key,執行命令:cat id_rsa.pub

f.   Gitub新增SSH Key

g. 登入gitub,然後點選使用者頭像,選擇setting-->SSH and GPG keys-->new SSH key-->取個名字,把之前複製的秘鑰複製進去,新增就好啦。

h. 驗證和修改

可以執行如下命令檢視gitub公鑰是否新增成功:

ssh -T git@github.com

注:GitHub配置SSH Key的目的是為了幫助我們在透過git提交程式碼時不需要繁瑣的驗證過程,簡化操作流程。

 

(4)將Gitub上的專案克隆到本地

        git clone專案地址 https url

(5)將本地工作區檔案上傳到本地Gitub伺服器的暫存區,執行命令:

        git add .(當前資料夾下的所有檔案)

注:若要選擇性上傳自己工作區檔案,可以在工作區建一個.ignore檔案【vim .ignore】

然後將不需要上傳的檔名或路徑寫在.ignore檔案

(6)將本地伺服器的暫存區的檔案提交到本地的master分支,執行命令:

git commit -m  "備註資訊"

(7)將本地master分支的檔案上傳到遠端伺服器,執行命令:

git push

(8)將遠端master檔案更新到本地工作區,執行命令:

git pull

(8)檢視自己做過哪些操作,執行命令:

git reflog

現在,你應該能完成所有 Git 基本的本地操作了-建立或克隆一個倉庫、進行更改、暫存並提交這些更改、瀏覽倉庫從建立到現在的所有更改歷史。 接下來,我麼介紹下提交更改過程中遇到衝突怎麼解決。

(四)如何解決衝突

當兩個(A,B)以上的人同時對同一個檔案做操作後push到master,容易產生衝突,假如A先上傳,那麼這個時候B要去解決衝突,A只需在B解決完衝入後pull檔案就可以。

兩種方法:

(1)可以手動修改

(2)用Git的merge工具

       (a)git mergetool

       (b)輸入a(彈出比較工具,可以新增,選擇,修改自己需要的檔案)

       (c)然後按照正常上傳檔案的流程操作就好啦

以上是從git是什麼,常用版本控制系統的區別,gitub的配置使用以及在使用過程中遇到衝突怎麼解決這4個方面總結了git的基本知識點。當然還有跟深層次的應用,如:git分支,自定義git,git的遷移等等,有興趣的可以自己去擴充。這些知識是我在接觸linux相關知識的時候用到的,在這裡要特別感謝 這本書,他帶我領略linux相關知識,透過這些又擴充了軟體相關的知識,擴寬了我的知識面,再次感謝!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2844015/,如需轉載,請註明出處,否則將追究法律責任。

相關文章