在介紹基本指令之前,先來簡單的解釋一下Git的基本概念
實際上,除了Git的遠端數據庫有一份資料之外,每個專案成員的這份專案,實際上都是一份複製品。因此,我們使用Git的基本概念,實際上就是把自己在複製品上的資料改動,同步給遠端數據庫。
數據庫示意圖:
基本指令
在理解了基礎概念後,先來了解最需要優先理解的4個指令。只要能夠理解這4個指令,就能在最低限度下使用Git了。
Commit(提交):Commit指令是把變動先儲存到本地數據庫內。
Push(推送):Push指令是把到目前為止本地數據庫內,尚未上傳的改動,上傳至遠端數據庫。通常,在使用這個指令前,你必須先將本地數據庫與遠端的資料同步到最新狀態,否則操作會被拒絕。你可以當成,永遠在遠端數據的最新狀態下做改動。
Fetch(獲取):這個指令用來獲得遠端數據庫的最新狀態,並另外保留下來,此指令只有獲得資訊而已,並還沒同步到你的本地數據庫。
Pull(拉取):這個指令是將目前獲得的遠端資訊(也就是利用Fetch指令獲得的資訊),同步到本地數據庫。通常,你會用這個指令來將遠端數據庫的最新狀態同步到本地數據庫。
這4個指令以圖片來解釋,就像這樣:
使用SourceTree來Commit與Push
回到Part1最後的進度,我們現在來把上次創建好的Unity專案同步到遠端數據庫。
1. 首先,我們把要提交的檔案都Stage上去,因為是新建立的專案,應該所有東西都是要提交的,所以按下Stage All。
2. 全部Stage之後看起來就像這樣
3. 然後在下方訊息欄位,寫下這次提交的內容後,按下Commit
4. 因為原先這個數據庫沒有任何分支,Git會自動幫你產生一條名為master的分支。因此提交後,你會發現出現了一條名為master的分支,剛剛提交的內容會被當作在這條分支上。
5. 仔細看看,由於我們的檢視選項選了All branches和Show Remote Branches,用來直接檢視本地和遠端所有分支的狀況,我們可以明確地看到,遠端是沒有任何分支的,因此我們接下來要做的是把本地的變動上傳至遠端。
6. 按下左上角的Push按鈕
7. 會看到跳出這個視窗
8. 因此我們這樣選
9. 按下Push,如果成功了,回到檢視頁面就會看見遠端出現了master分支
待續
這一次介紹了基本指令,與在SourceTree上傳本地變動的方法。但是剛剛學Git的新手,最容易碰到問題的時候,總是在與其他人進行協作時,碰到的資料衝突的問題。因此下一篇要用例子來介紹Fetch與Pull指令,以及Pull時碰到衝突與其解決衝突的辦法。
對新手很有幫助,希望DT大大能繼續出關於GIT part3的教學 🙁