什麼是Git? 為何要使用Git? 要如何使用Git?

什麼是Git
在寫程式的領域其實常常看到Git一詞
但是好像又不是那麼了解它
那Git究竟是什麼?
Git 可以把它視為一個”系統”
而這個系統的作用就是控制版本
它使用的方法是用分散式版本的控制系統
所謂分散式版本控制就是可以讓多位開發者共同參與同一個開發專案
不需要連接同一伺服器才能編輯
它可以在本地端自行建立不同版本的分支
再將想要的版本分支指定到remote端
remote端最常見的就是GitHub
Git可以把檔案的狀態作為更新歷史記錄保存起來
因此可以把編輯過的檔案復原到以前的狀態
也可以顯示編輯過內容的差異
下圖是我在text檔案新增文字”C2″後產生的差異圖
為什麼要使用Git
版本的更換其實是很常見的一件事情
以下有幾種版本控管的方式比較
檔案複製
一般一個檔案如果有不同版本
比較一般的做法就是將原有檔案複製
更改內容後再給他一個名字
假如第一版叫做”Project”
新複製並修改過的可能就會叫”Project-1″
依此類推
但是這樣做並不是一個有效的做法
最大的缺點就是每次有新的版本都要複製一次造成容量過大
SVN(集中式版本管理)
它只會有一個版本在網路端
因此要用最新版本的檔案一定要在網路端先下載下來
它的缺點就是每次工作前要重新下載檔案才能確保檔案是最新版本的
以及它必須要有網路才能使用到最新版本
分散是版本控制
這也是git系統的概念
它有和SVN一樣擁有網路上可以共同使用的版本
但不一樣的地方是從remote端下載下來之後
可以自行做版本的分支
也就是可以在非連線狀態自行做版本控管
並將想要的指定分支丟到remote端
因此
Git的好處就是可以透過一些指令做版本差異化的管理
並不用去做到龐大檔案的複製貼上
也可以很彈性地在本地端自行做版本的控制不會影響到其他人
而Git最大的優勢是功能非常豐富
原因就在於可以在本地端自由的控制版本分支
而SVN做任何分支都必須連接伺服器
相對的就比較不方便
基本Git的使用
- 到Git官網下載Git
2. 在要作業的資料夾建立git資料夾在terminal打上git init
git資料夾內容如下
常見指令
git init: 初始化git
git status: git目前版本狀態查詢
git add: 將檔案加入版本控制 單一檔案 : git add 檔案名稱 全部檔案 : git add .
git commit -m 此次更改的命名: 可以幫你此次的變更作命名並建立一個新的版本
git rm –cached 檔案名稱: 將加入版本控制的檔案移除
git log: 查看每個版本的歷史紀錄 每個都有一串很長的編號
git checkout 版本編號: 可以回到版本編號的版本
git checkout master: 可以將版本變為最新版
git branch -v: 確認當前主幹和分支
git branch 分支名稱: 新增分支
git branch -d 分支名稱: 刪除分支
git checkout 分支名稱: 移動到指定分支
git merge 分支名稱: 將指定的分支合併到當前所在分支