GIT教程 GIT的使用方法以及常用命令

2021-07-22 14:29:50 字數 3897 閱讀 6610

****初學git者我希望你能把這篇文章全部看下去,因為我也是初學者學習git之後總結出來,菜鳥專用,大神請走。**

**一、git是什麼?**

git 是目前世界上最先進的分布式版本控制系統,至於什麼是版本管理這裡不解釋。至於是什麼事分布式,這裡我們可以聯想我們經常用到的cvs,svn這裡集中式的版本控制系統,那麼集中式和分布式有什麼區別?

**集中式(svn,cvs):**版本庫是集中存放在**伺服器的,而幹活的時候,用的都是自己的電腦,所以要先從**伺服器取得最新的版本,然後開始幹活,幹完活了,再把自己的活推送給**伺服器。**伺服器就好比是乙個圖書館,你要改一本書,必須先從圖書館借出來,然後回到家自己改,改完了,再放回圖書館。集中式版本控制系統最大的毛病就是必須聯網才能工作,如果在區域網內還好,頻寬夠大,速度夠快,可如果在網際網路上,遇到網速慢的話,可能提交乙個 10m 的檔案就需要 5 分鐘,這還不得把人給憋死啊.

**分布式(git):**首先,分布式版本控制系統根本沒有「**伺服器」,每個人的電腦上都是乙個完整的版本庫,這樣,你工作的時候,就不需要聯網了,因為版本庫就在你自己的電腦上。既然每個人電腦上都有乙個完整的版本庫,那多個人如何協作呢?比方說你在自己電腦上改了檔案a,你的同事也在他的電腦上改了檔案a,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。

**對比:**和集中式版本控制系統相比,分布式版本控制系統的安全性要高很多,因為每個人電腦裡都有完整的版本庫,某乙個人的電腦壞掉了不要緊,隨便從其他人那裡複製乙個就可以了。而集中式版本控制系統的**伺服器要是出了問題,所有人都沒法幹活了。當然,git 的優勢不單是不必聯網這麼簡單,後面我們還會看到 git 極其強大的分支管理,把 svn 等遠遠拋在了後面。cvs 作為最早的開源而且免費的集中式版本控制系統,直到現在還有不少人在用。由於 cvs 自身設計的問題,會造成提交檔案不完整,版本庫莫名其妙損壞的情況。同樣是開源而且免費的 svn 修正了 cvs 的一些穩定性問題,是目前用得最多的集中式版本庫控制系統。

**二、安裝git**

1、windows電腦上安裝git:從

**三、使用git**

1、安裝完成後:需要設定全域性,告訴伺服器你是誰:

git bash 中輸入:

$ git config --global user.name

"your name"

$ git config --global user.email

"[email protected]"

2、通過git init命令建立git倉庫(git 管理的倉庫)

$ git init

initialized empty git repository in ....

瞬間 git 就把倉庫建好了,而且告訴你是乙個空的倉庫(empty git repository),細心的讀者可以發現當前目錄下多了乙個 .git 的目錄,這個目錄是 git 來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄裡面的檔案,不然改亂了,就把 git 倉庫給破壞了。

3、通過git add a.txt(需要上傳的檔案,「.」代表當前git倉庫下的所有檔案)

執行上面的命令,沒有任何顯示,這就對了,unix 的哲學是「沒有訊息就是好訊息」,說明新增成功。

4、通過git commit命令,將剛才新增的檔案提交到本地git 倉庫。

$ git commit -m "wrote a readme file"

[master (root-commit) cb926e7] wrote a readme file

1 file changed, 2 insertions(+)

簡單解釋一下 git commit 命令, -m 後面輸入的是本次提交的說明,可以輸入任意內容,當然最好是有意義的,這樣你就能從歷史記錄裡方便地找到改動記錄。

5、使用git status 命令可以讓我們時刻掌握倉庫當前的狀態,當我們頭一熱忘記我們是否上傳或新增了這些檔案的時候,我們就可以使用git status命令來檢視git倉庫的狀態來探索是否檔案被新增。

要隨時掌握工作區的狀態,使用 git status 命令。

如果 git status 告訴你有檔案被修改過,用 git diff 可以檢視修改內容。

四、將本地git倉庫推送至遠端伺服器

1.新增遠端倉庫:例如,git remote add origin

2.推送:git push -u origin master

至此,基基基本用法就這些。

**四、git環境變數配置**

有時我們在做一些專案是,需要git配置環境變數,git的環境變數非常簡單,只需要在在環境變數pathz中加入你git的安裝路徑下的bin活著cmd都可以。例如,我安裝在d:\programfile\git下,所以我需要做的及時在path後面加d:\programfile\git\bin或者d:\programfile\git\cmd(如果path之前沒有;記得加;好哦)

**五、 git命令走向圖:**

![git命令原理圖](

.csdn

.net/20160909164006117)

**六、.gitignore檔案的使用(注意有個點號)**

首先要強調一點,這個檔案的完整檔名就是「.gitignore」,注意最前面有個「.」。這樣沒有副檔名的檔案在windows下不太好建立,這裡給出win7的建立方法:

建立乙個檔案,檔名為:「.gitignore.」,注意前後都有乙個點。儲存之後系統會自動重新命名為「.gitignore」。

一般來說每個git專案中都需要乙個「.gitignore」檔案,這個檔案的作用就是告訴git哪些檔案不需要新增到版本管理中。

實際專案中,很多檔案都是不需要版本管理的,比如python的.pyc檔案和一些包含密碼的配置檔案等等。

這個檔案的內容是一些規則,git會根據這些規則來判斷是否將檔案新增到版本控制中。

下面我們看看常用的規則:

/mtk/ 過濾整個資料夾

*.zip 過濾所有.zip檔案

/mtk/do.c 過濾某個具體檔案

很簡單吧,被過濾掉的檔案就不會出現在你的github庫中了,當然本地庫中還有,只是push的時候不會上傳。

需要注意的是,gitignore還可以指定要將哪些檔案新增到版本管理中:

!*.zip

!/mtk/one.txt

唯一的區別就是規則開頭多了乙個感嘆號,git會將滿足這類規則的檔案新增到版本管理中。

為什麼要有兩種規則呢?想象乙個場景:我們只需要管理/mtk/目錄中的one.txt檔案,這個目錄中的其他檔案都不需要管理。那麼我們就需要使用:

/mtk/

!/mtk/one.txt

假設我們只有過濾規則沒有新增規則,那麼我們就需要把/mtk/目錄下除了one.txt以外的所有檔案都寫出來!

最後需要強調的一點是,如果你不慎在建立.gitignore檔案之前就push了專案,那麼即使你在.gitignore檔案中寫入新的過濾規則,這些規則也不會起作用,git仍然會對所有檔案進行版本管理。

簡單來說,出現這種問題的原因就是git已經開始管理這些檔案了,所以你無法再通過過濾規則過濾它們。

所以大家一定要養成在專案開始就建立.gitignore檔案的習慣,否則一旦push,處理起來會非常麻煩。

**建立.gitignore檔案方法總結:**

****1. 在需要建立 .gitignore 檔案的資料夾, 右鍵選擇**

**git bash 進入命令列,進入專案所在目錄。**

**2. 輸入 touch .gitignore 在資料夾就生成了乙個「.gitignore」檔案**。

**然後在」.gitignore」 檔案裡輸入你要忽略的資料夾及其檔案就可以了**

**3.然後用編輯器開啟這個檔案進行編輯就行了。**

**4.然後就寫規則來操作要忽略的檔案了。****

1.cd 轉殖到那個目錄檔案。

2.git clone

從這個伺服器中轉殖**

Git 使用方法

git 常用命令 git init here 建立本地倉庫 repository 將會在資料夾下建立乙個 git 資料夾,git 資料夾裡儲存了所有的版本資訊 標記等內容 git remote add origin git github.com winter1991 helloworld.git 把...

Git 使用方法

git 常用命令 git init here 建立本地倉庫 repository 將會在資料夾下建立乙個 git 資料夾,git 資料夾裡儲存了所有的版本資訊 標記等內容 git remote add origin git github.com winter1991 helloworld.git 把...

Git使用方法

最近專案用到了git,開始,覺得非常難用,後來,也就習慣了。現在,簡單概括下git的常用操作吧,後續的話我會繼續補充的。1 clone 的檢出,使用git轉殖,可以使用圖形化介面,也可以使用命令。2 pull 使用這個命令,可能用svn的人不太習慣,但可以放心,你選擇單個檔案,或者這個專案來pull...