如果你是乙個剛開始學習開發小白的話,那麼你一定經常聽到git/github,甚至gitlab。那麼什麼是git、github、gitlab呢?
1.1 什麼是git、github、gitlab?
git是乙個開源的分布式版本控制系統,可以有效、高速的處理從很小到非常大的專案版本管理,git 是 linus torvalds 為了幫助管理 linux 核心開發而開發的乙個開放原始碼的版本控制軟體,說白了,是乙個版本管理工具。
github是乙個面向開源及私有軟體專案的託管平台,因為只支援git 作為唯一的版本庫格式進行託管,目前,github是最大的**託管平台,可以將倉庫、提交記錄等記錄在**上,開源、收費,
gitlab 是乙個用於倉庫管理系統的開源專案,使用git作為**管理工具,並在此基礎上搭建起來的web服務,是一款開源等軟體,可供於搭建自己的**管理平台。
1.2 三者的聯絡和區別
git是一款版本管理的工具,可以管理github和gitlab;github為**託管平台,可以免費託管使用者的**,若**、倉庫不希望對外公布,則需要付費;gitlab則是一款可以搭建在個人/公司伺服器上的**管理平台,自己對**管理平台進行管理。三者的關係類似於部落格書寫工具-公共部落格(如csdn部落格)-私人部落格(如搭建在個人伺服器之上的wordpress、ghost等部落格系統)。
2.1 遠端/本地倉庫
既然我們想要使用github/gitlab保管的**,那麼我們就需要在github/gitlab上建立乙個類似於作業系統中資料夾的東西,用於保管**,我們可以稱之為倉庫。
處在github/gitlab等線上等、非本地的倉庫,我們稱之為遠端倉庫,遠端倉庫為搭建在github或gitlab上的倉庫,即在github或gitlab上建立新的專案。而處於本地的、個人電腦上的帶有特殊含義的資料夾,我們稱之為本地倉庫。
2.2 遠端-本地倉庫間的同步
既然有兩個倉庫,那麼不可避免的,就需要對兩個倉庫進行資料的同步處理。
pull:相當於是從遠端獲取最新版本並merge到本地;
fetch:相當於是從遠端獲取最新版本到本地,不會自動merge。
遠端倉庫——>本地倉庫,使用git clone命令(轉殖)
本地倉庫——>遠端倉庫,使用git push命令(推送)
需要注意的是:clone和push的不是檔案,而是版本;遠端和本地是分開的,我們可以通過clone和push進行倉庫的同步,類似於qq的訊息記錄一樣。
本地倉庫是我們**編寫、修改的場所,打交道的次數也相對較多,因此,拆分一下本地倉庫是很有必要的。
3.1 本地倉庫
本地倉庫為處於本地的、個人電腦上的帶有特殊含義的資料夾。而本地倉庫又分為:(1)工作目錄(2)暫緩區(3)版本倉庫。
我們可以簡單粗暴的將工作目錄理解為資料夾;版本倉庫(repository) ,即工作目錄有乙個隱藏目錄「.git」,這個目錄不算工作區,而是git的版本倉庫;而位於連線工作目錄和版本倉庫的地段的區域我們可以稱之為暫緩區,也可以簡單理解為,需要提交的檔案修改需要通通放到暫緩區後,才能進入版本倉庫。
工作目錄——>暫緩區,使用git add命令(新增)
暫緩區——>版本倉庫,使用git commit命令(確認)
工作目錄——>版本倉庫,使用git commit -am命令
4.1 forkfork 即是 服務端的倉庫轉殖,包含了原來的倉庫的所有內容。
4.2 merge request
當你想更正別人倉庫裡的錯誤時,要走乙個流程:
不會有人直接讓你改修原倉庫,所以,必須先 fork 別人的倉庫,相當於拷貝乙份
clone 到本地分支,做一些 bug fix
發起 merge request(又稱為pull request) 給原倉庫,讓他看到你修改的內容
如果得到原倉庫的作者認同的話,就他就會 merge 到他自己的專案中
至此,整個 merge request 的過程就結束了。
分支**合併
歷史**回滾
發布管理
6.1 命令列
作為碼農,建議能使用命令列,就使用命令列。
6.2 圖形工具
如非要使用圖形介面不可的話,windows和mac下都可以安裝github for desktop。當然,還有很多款工具也支援git,如:vs code也可以使用git進行**的新增、確認和推送。
Git的快速理解 學習和使用
如果你是乙個剛開始學習開發小白的話,那麼你一定經常聽到git github,甚至gitlab。那麼什麼是git github gitlab呢?1.1 什麼是git github gitlab?git是乙個開源的分布式版本控制系統,可以有效 高速的處理從很小到非常大的專案版本管理,git 是 linu...
快速使用Git
吃素的ranger 在專案資料夾裡面右鍵 進入git 介面 git 自帶乙個git config的工具來幫助設定控制 git 外觀和行為的配置變數。這些變數儲存在三個不同的位置 etc gitconfig檔案 包含系統上每乙個使用者及他們倉庫的通用配置。如果在執行git config時帶上 syst...
git快速學習
git分布式檔案版本管理系統 重要名詞 1.版本庫 理解為乙個檔案目錄,改目錄下會有乙個隱藏的檔案.git,此時表示該目錄是乙個版本庫 git中存放暫存區和本地倉庫 2.暫存區 index或stage add操作將檔案加入暫存區 3.本地倉庫 commit m 日誌 commit 操作將檔案加入本地...