主題

基礎git用法簡介

LF(小魚) | 2021-09-17 23:25:12 | 巴幣 2 | 人氣 166


一、了解VCS
VCS,全名"Version Control System",又稱"版本控制系統"或"版本控制",是可以控制一個專案在各個版本上修改的內容,可以快速的返回先前內容的系統。
VCS的介紹可以看看GeeksforGeeks的這篇文章(英文)
而git就是使用此系統的一套軟體。

二、git是什麼
git 也就是VCS的軟體,可以簡單使用幾行指令完成VCS需要處理的事情,也是各大使用VCS的伺服器所常用的軟體。
詳細簡介可以參考連猴子都能懂的Git入門指南

三、git中一定要會的指令
在介紹指令之前請注意,雖然很多商業軟體,甚至也有開源軟體都支援VCS,但最好先學會使用指令。
在使用git指令前,請先了解自己作業系統的終端機(Commander,Terminal)要如何使用,這裡不會對此說明。

1. 從git伺服器上複製儲存庫到這裡
git clone <git url>
會將該儲存庫的內容複製到當前位置的<repository>資料夾中,所以不用擔心會突然跑出一堆東西在不該在的地方
2. 增加修改內容或檔案
git add <file path>
git會自動處理該檔案的修改內容,這裡的增加只是告訴git等一下要處理這個檔案,並不是立刻就丟到git上
3. 為增加的內容或檔案給予說明,並處理其內容
git commit -m <說明>
這裡就會確定2.所添加的檔案,<說明>內有空格請使用"包起來
4. 察看當前git的狀態(被修改的內容及檔案在git裡的狀態)
git status
就是察看狀態,沒什麼好說的
5. 將修改提交到git伺服器上
git push origin master
如果想要簡寫為"git push",必須至少先打一次"git push --set-upstream origin master"
6. 將在其他地方所提交到git伺服器上的修改覆蓋至本地庫
git pull
這會把你這裡的修改內容到git伺服器所記載的修改內容做合併,不用擔心檔案會被覆蓋掉,就當作是他幫你把修改的內容自動幫你插入檔案中
7. 將當前的資料夾設為git本地庫
git init git init -b <name>
後者可以自己設定本地庫的名字,預設名字為"master"
8. 將本地庫新增git伺服器地址
git remote add <7.名字> <git url>
git remote -v
依序輸入上面兩個指令即可將本地庫加入連接的地址

四、稍微進階,但很重要的內容
如果你要輕鬆方便且長期使用git的話,可以看看這裡的內容

1. 快速新增大量檔案
如果要使用"git add <file path>"來新增大量檔案,又不希望檔案路徑一個一個打,你可以簡單的將"<file path>"改輸入為"*"他會將全部的檔案加入。
也可以簡單的使用過濾器,例如"*.txt"為將所有結尾為".txt"的檔案加入,或是"test*"即為將開頭為"text"的檔案全部加入等等。
2. 自動忽略
有些檔案你不希望加入git中,但又因為檔案太多想偷懶用"git add *"來快速加入
那你可以在本地庫根目錄下新增".gitignore"的檔案,裡面輸入要忽略的檔案路徑(以行分隔),git將會在加入".gitignore"的檔案時自動將裡面所提供的檔案路徑忽略掉。
3. 並不是所有東西都能不覆蓋檔案,僅插入修改後的內容
git只能處理文字檔(.txt .java .kt .py 等等),其餘被git所判別為二進位檔案的皆會直接覆蓋檔案,像是PDF(.pdf)或是各式圖片檔(.jpg .png .gif 等等),所以不要傻傻的把文字檔包成壓縮檔再丟,那只會造成更多的問題而已。
4. 新增分支
如果你想從當前狀態再多做一個不同的版本的話,可以建立新的分支,使用"git branch <name>",可以新增一個分支,而進入該分支的方法就是使用"git checkout <name>"來切換。
當你不需要這個分支且要刪除時,使用"git branch -d <name>"就可以刪除"<name>"這個分支喔。
5. 在特定版本新增分支
使用"git branch <name>"可以新增分支,但如果我想從某個commit點新增分支的話呢?
跟切換分支一樣,使用"git checkout <commit code>",來切換到該commit點,"<commit code>"可以只輸入一部分,但至少6位,"<commit code>"可以使用"git log"印出commit紀錄來確認。
切換到該commit點後,就可以像一般新增分支一樣直接輸入"git branch <name>"來新增了。
6. 分支合併
當你想要將某個分支合併到某個分支時(包含master),你可以先切換到要被合併的分支,然後使用"git merge <branch name>"即可將其合併。
7. pull的下位轉換
高階指令"git pull"其實就是將兩個指令結合的版本,事實上,你也可以使用"git fetch"和6.所講到的"git merge"來達到一模一樣的效果。
"git fetch"就是將本地庫與git伺服器之間的所有commit修改加到名為"FETCH_HEAD"(自動創建)的分支裡,既然是分支,當然就可以使用6.所講到的分支合併
8. 想到再加...

五、其他
其他更詳細的指令可以使用"git help"來查詢,也可以使用"git help <command>"來開啟該指令的說明文檔

六、參考資料
自己的git使用經驗

創作回應

更多創作