工具
開啟git-bash / Linux 直接在 terminal 操作
登入後在上方選單找到 Projects > Your projects > New project
輸入 project 名稱、選擇可視層級。
分兩種方式
兩種方式一開始都必須先複製專案的連結。
接著分成兩種方法
第一種,將本地端資料夾與遠端做連結
指令輸入後資料夾下會多出一個 .git 的資料夾,意思是讓這個資料夾使用一些 git 提供的功能。
第二種方法,直接複製遠端的專案到本地端
成功後會出現 master 文字,表示目前在 master 分支。
注意
.gitignore, 排除不想更新至 git 的檔案
對於一些測試檔、測試程式或一些產出的資料,通常不希望一起更新至遠端,所以可以在資料夾內編輯一個文字檔,內容為不想加入 git 的檔案或資料夾,並命名為 .gitignore
範例如下: test、所有的 png 檔和所有的 txt 檔都不會在git push
時一起更新至遠端。
.gitignore
以 ls -la
查看本地資料夾大概會長這樣:
png、txt 檔案因為有寫入 .gitignore 內,所以不會更新至遠端。
git status
檢查一下目前有哪些檔案修改過、刪除或新增 (與上一次 commit 做比較),會以紅字表示,綠色的表示已經在這次提交內容中。git add -A
將 status 所有的紅字都加入這次要提交的範圍內。git commit -sm "XXX"
提交一個名稱為 XXX 的版本並附上簽名。電腦 A 修改檔案後並更新到遠端;電腦 B 仍在修改檔案
電腦A:
電腦 B(修改中):
當電腦 B 修改完後直接提交、更新,因為在這期間遠端有新版本,所以會導致這次的更新失敗,錯誤訊息如下:
這時候先 git pull
會看到下面的錯誤訊息,原因是同樣在第2行進行更動,但是兩個版本的第2行內容不同,所以造成了衝突。
這時候檔案會長成這個樣子:
發生衝突時必須又後提交的人處理、決定檔案要如何修改,這邊決定將兩者都保留。
接著 git add
、 git commit
、git push
在 Repository 的 Graph 中可以看目前各分支、提交的情況:
電腦 A、電腦 B 這種情況通常會發生在開發不同的功能上,所以一般會使用不同分的分支進行,從圖中也可以看出其實是有出現第二條分支的,但因為兩個都是在 master 分支上進行,所以就直接進行一次的合併。
git checkout -b 分支名稱
,建立新分支並切換到該分支,會發現 () 內文字從 master 變成新的分支名稱git add
、git commit
git push -u origin 分支名稱
,將目前分支更新到遠端的分支(若分支不存在則建立一個)完整過程
團隊的開發使用 Group 功能,Group > Your group > New group
在 Members 中加入新的成員
善用 Issue,作為 TODO list 。
Merge requst
每一次 git push
前先 git pull
統一規範提交內容寫法,如下:
在標題簡單說明這次提交的目的並簡單描述內容,在提交的內容才詳細說明這次做了哪些工作,為了閱讀方便,說明內容通常會溝通一行 N 個字跟條列式描述,詳細描述會放在最下方。