gitlab

50
Git Basics Gitlab X SourceTree Tom Chen <[email protected]>

Upload: tom-chen

Post on 16-Aug-2015

133 views

Category:

Software


5 download

TRANSCRIPT

Page 1: Gitlab

Git BasicsGitlab X SourceTree

Tom Chen <[email protected]>

Page 2: Gitlab

第一次安裝產生金鑰 (SSH Key)

Page 3: Gitlab

• 讓 Gitlab 認得你的電腦• 一台電腦只需要做一次• 產生一組 SSH 的 public/private Key• 給 Gitlab public key, 配合自己電腦的 private key 就可以驗證 ok

Page 4: Gitlab

• Tools Create or Import SSH Keys

Page 5: Gitlab

• 按下 Generate 在空白的地方隨便移動滑鼠來製造亂數

Page 6: Gitlab

• 儲存 private key (Save Private Key), 隨便儲存一個檔名 (.ppk)

存檔的時候會問你是否真的不要在每次存取金鑰的時候用一個密碼保護 ?

如果你想要安全一點 , 就設定一個密碼 ,填在左圖中 Key passphrase 跟 Confirm passphrase 中或者不要的話就… 以可以啦 orz

Page 7: Gitlab

• 匯入 Public Key 到 Gitlab

Copy 這整段

Page 8: Gitlab

點選 Profile Settings

Page 9: Gitlab

點選 SSH Keys

Page 10: Gitlab

點選 Add SSH Key

Page 11: Gitlab

2. 剛剛 Copy 的貼上

1. 給個名字 , 譬如 Work Machine ( 工作機 ) 之類的

3. 按下 Add Key, Gitlab 這邊匯入就大功告成

Page 12: Gitlab

設定名稱跟 E-mail

Page 13: Gitlab

2. 填寫你的全名跟 E-mail1. 去到 Tools -> Options

Page 14: Gitlab

產生一個新的 Repository

Page 15: Gitlab

點選 New Project

Page 16: Gitlab

取一個好的名字 , 通常全部小寫 , 中間用 - 隔開

記得選 ifp ( 我們自己的 group)

預設就是 Private 就不用改了

最後按下 Create Project

Page 17: Gitlab

最重要的就是這個網址了 !!

Page 18: Gitlab

按下 Clone / New

Page 19: Gitlab

1. 貼上

3. 按下 Clone

2. 選好你希望他在本機端的哪個資料夾中

Page 20: Gitlab

TADA!!!

Page 21: Gitlab

新增檔案

Page 22: Gitlab

• 假設本地端目錄在 C:\Users\User\My Documents\test-project• 到這個目錄底下建立一些檔案• 例如 : test.txt, 打一些字並且存檔

Page 23: Gitlab

還沒有被追蹤版本控管的檔案

按下 Add 把沒有被追蹤的加入版本控管

Page 24: Gitlab
Page 25: Gitlab

1. 按下 Commit 把這一次的變更編入版本控管

寫下這一次變更的註解

2. 按下 Commit 確認

Page 26: Gitlab

按下 Push 把變更推到伺服器上

Page 27: Gitlab

推到伺服器的 master 分支

Page 28: Gitlab

這時候再去 Gitlab 的 Files 查看就看得到變更了 !!

Page 29: Gitlab

變更檔案

Page 30: Gitlab

• 把剛才的 test.txt 更改一些內容• 隨便新增一個檔案

Page 31: Gitlab

SourceTree 會自動偵測變更

Page 32: Gitlab

按下 Add 把目前的變更加入

Page 33: Gitlab

1. 按下 Commit

2. 寫下這一次變更的註解

3. 這邊打勾的話 , 就可以直接 Commit 的時候順便 Push 到伺服器上

4. 按下 Commit 確認

Page 34: Gitlab

在 Gitlab 的 Commits 可以看到每次變更的內容

Page 35: Gitlab

拉變更 (pull)

Page 36: Gitlab

• Repository 並不是只有你一個人在使用• 也有可能有別人做了變更• 你需要拉別人的變更下來 (pull)

Page 37: Gitlab
Page 38: Gitlab
Page 39: Gitlab
Page 40: Gitlab

Workflow

Page 41: Gitlab

1. 從 Server Pull 下來2. 按照原本的作業方式修改檔案 , 新增檔案… 等等3. 變更後的東西都在 Unstaged files, 把這一次的批次變更的檔案放到

Staged files4. 進行 Commit 並且寫下這一次變更的註解5. Push 到 Server

3 跟 4 可以用 Checkbox 勾選的方式一次一起做也可以做了一大堆 1-3 之後再一次做 4 把一堆 push 到 server

Page 42: Gitlab

.gitignore

Page 43: Gitlab

• 如果是程式專案 , 通常會從程式專案的目錄整個進到 git• 但是有些檔案通常不會進到 repository, 例如• 編譯後的檔案 (.o, .obj, .so, .lib, .dll, .pyc, …)• 暫存檔 (.swp)• 外掛套件 (node_modules)• 某些設定檔

Page 44: Gitlab

.gitignore

• 只要在 .gitignore 設定的就會被 git 忽略• 說明文件

http://git-scm.com/docs/gitignore• 打入關鍵字幫你產生 .gitignore 的服務

https://www.gitignore.io/• github 上的 .gitignore 設定

https://github.com/github/gitignore

Page 45: Gitlab

安全性• 帳號密碼千萬別加到 repository• Auth Key 也不要• Cookie Secret 或任何 secret 類的都不要進到 repository

Page 46: Gitlab

Markdown同場加映

Page 47: Gitlab

到 Wiki

Page 48: Gitlab
Page 49: Gitlab

• 內部用的文件別再用 Word 了• 大家都編輯會有很多 Copy, 散落各處 (Google Docs 可解決 )• 超級難做出一致與精美的樣式

• 一直用滑鼠在調整字形大小、顏色…

• Markdown 只要依照他簡易的格式 + 別人寫好的樣式• 看起來很乾淨• 類似網頁有超連結的概念• GitLab 裡頭還可以指向特定的檔案、程式碼的某一行或者是 Issue• 版本控管• https://gitlab.com/help/markdown/markdown

• 另外一個 Popular 的格式 reStructuredText (rst)• http://sphinx-doc.org/rest.html

Page 50: Gitlab

• 最後 , 一個小分享

每週分享 : 如何寫好程式碼的「 Commit Message 」? https://passionbean.wordpress.com/2012/02/22/why-good-commit-message/

• 版本控管使用方式很多種 , 如果大家都有共識 follow 共同的方式對大家來說會輕鬆很多 :D