--- title: Git(簡介+安裝) tags: 暑假 --- Git(簡介+安裝) === ## 什麼是Git? Git 是一種分散式版本的版本控制系統(Version Control System)。 ### 「版本控制系統」 就是指會幫你記錄這些所有的狀態變化,並且可以像搭乘時光機一樣,隨時切換到過去某個「版本」時候的狀態。 例如你今天玩遊戲時候可以儲存遊戲一樣,舉例,為了避免打boss打輸了而損失裝備,又或是打倒boss卻沒有掉落期望的珍貴裝備,你也許在每次要去打頭目之前之前記錄一下,在發生狀況的時候可以載入舊進度,再來挑戰一次。 >簡言:就是你做了什麼動作,都會幫你記錄下來,讓你也可以防止檔案錯誤無法還原的問題 ### 「分散式系統」 即使在沒有伺服器或是沒有網路的環境,依舊可以使用 Git 來進行版控,待伺服器恢復正常運作或是在有網路的環境後再進行同步,不會受影響。而且,事實上在使用 Git 的過程中,大多的 Git 操作也都是在自己電腦本機就可以完成。 >簡言:就是也可以離線使用在自己本機上 ## Git優點 - #### 同時開發 - 在自己的分支上同時運作。 - #### 免費、開源 - #### Git 與任何小組合作 - 小組可以解決版本控制、工作專案追蹤,以及持續整合和部署的個別工具。 或者,他們可以選擇一個解決方案 例如 GitHub 或 Azure DevOps 、GitLab,可支援所有這些工作 提取要求(讓開發人員可以流覽檔案變更、留下批註、檢查認可、檢視組建,以及投票核准程式碼)以及分支原則(防止直接推送、要求檢閱者,並確保全新組建,以保護重要的分支),可以讓整個專案受到保護以及確認。 ## Git的成員 - #### Git:是一種版本控制系統,是一個命令,是一種工具。 - #### Git LFS 是 大檔案儲存(LFS)用Git中的文字指標替換音訊樣本、視訊、資料集和圖形等大檔案,同時將檔案內容儲存在遠端伺服器上,如此分開後,能加速存取的速度。 - #### Gitlib:是用於實現Git功能的開發庫。 - #### Github:是一個基於Git實現的線上程式碼託管倉庫,包含一個網站介面,向網際網路開放。 - #### GitLab:是一個基於Git實現的線上程式碼倉庫託管軟體,你可以用gitlab自己搭建一個類似於Github一樣的系統,一般用於在企業、學校等內部網路搭建git私服。 ## 安裝 windows 其他平台下載方式:https://reurl.cc/2mQLEm 下載Git網址: https://git-scm.com/download/win ![](https://i.imgur.com/a2H8aVh.png) 安裝可以按Next> 到最後 ![](https://i.imgur.com/KFkvwwg.png) 安裝完成之後,請找到「Git Bash」這個應用程式 ![](https://i.imgur.com/OUUz4Rg.png) 進入後它本身模擬了一個在 Linux 的世界還滿有知名度的軟體(其實不能算是一般的應用軟體)叫做 Bash ![](https://i.imgur.com/yvMKRqx.png) 輸入指令確認有無安裝完成 ``` $ git --version git version 2.37.3.windows.1 $ which git /mingw64/bin/git ``` ![](https://i.imgur.com/A8KQV6n.png) --- #### [下一篇Git(Gitlab簡介+常用指令)](https://hackmd.io/ISM9If6gRV-faijV4y2HtQ) ---- ### 額外基本知識 #### Git GUI,Git Bash,Git CMD之間的區別 **Git CMD**就像常規Windows命令提示符中的git命令一樣。它使您可以通過命令列使用所有Git功能。如果您已經熟悉Windows cmd並且僅在Windows上工作,則很有用。 **Git Bash**在Windows上模擬bash環境。它使您可以在命令列中使用所有git功能以及standard unix commands的大部分功能。如果您習慣使用Linux並希望保持相同的習慣,則很有用。 **Git GU**I是 G 粗體 U ser I 介面(interface),讓您無需觸控命令列即可使用Git。它是其他Git客戶端中的替代產品。由於Git GUI非常小,如果GUI感興趣,您也可以檢視other alternatives。 * **建議** 在切換到圖形介面之前通過命令列學習Git。如果不知道在Git Bash和Git CMD之間選擇哪個,我會選擇Git Bash,因為bash是一個非常有用的學習工具。 >總之學指令方式比較通用=) ---- ### 學習參考網頁 :::info [為你自己學Git](https://gitbook.tw/chapters/environment/gui-tools) [Microsoft(什麼是 Git?)](https://docs.microsoft.com/zh-tw/devops/develop/git/what-is-git) [常用Git指令介紹](https://hellojs-tw.github.io/git-101/cheat-sheet.html) [gitlab介紹與兩種使用方式](https://www.796t.com/article.php?id=479959) :::