gitlab
TRANSCRIPT
Git BasicsGitlab X SourceTree
Tom Chen <[email protected]>
第一次安裝產生金鑰 (SSH Key)
• 讓 Gitlab 認得你的電腦• 一台電腦只需要做一次• 產生一組 SSH 的 public/private Key• 給 Gitlab public key, 配合自己電腦的 private key 就可以驗證 ok
• Tools Create or Import SSH Keys
• 按下 Generate 在空白的地方隨便移動滑鼠來製造亂數
• 儲存 private key (Save Private Key), 隨便儲存一個檔名 (.ppk)
存檔的時候會問你是否真的不要在每次存取金鑰的時候用一個密碼保護 ?
如果你想要安全一點 , 就設定一個密碼 ,填在左圖中 Key passphrase 跟 Confirm passphrase 中或者不要的話就… 以可以啦 orz
• 匯入 Public Key 到 Gitlab
Copy 這整段
點選 Profile Settings
點選 SSH Keys
點選 Add SSH Key
2. 剛剛 Copy 的貼上
1. 給個名字 , 譬如 Work Machine ( 工作機 ) 之類的
3. 按下 Add Key, Gitlab 這邊匯入就大功告成
設定名稱跟 E-mail
2. 填寫你的全名跟 E-mail1. 去到 Tools -> Options
產生一個新的 Repository
點選 New Project
取一個好的名字 , 通常全部小寫 , 中間用 - 隔開
記得選 ifp ( 我們自己的 group)
預設就是 Private 就不用改了
最後按下 Create Project
最重要的就是這個網址了 !!
按下 Clone / New
1. 貼上
3. 按下 Clone
2. 選好你希望他在本機端的哪個資料夾中
TADA!!!
新增檔案
• 假設本地端目錄在 C:\Users\User\My Documents\test-project• 到這個目錄底下建立一些檔案• 例如 : test.txt, 打一些字並且存檔
還沒有被追蹤版本控管的檔案
按下 Add 把沒有被追蹤的加入版本控管
1. 按下 Commit 把這一次的變更編入版本控管
寫下這一次變更的註解
2. 按下 Commit 確認
按下 Push 把變更推到伺服器上
推到伺服器的 master 分支
這時候再去 Gitlab 的 Files 查看就看得到變更了 !!
變更檔案
• 把剛才的 test.txt 更改一些內容• 隨便新增一個檔案
SourceTree 會自動偵測變更
按下 Add 把目前的變更加入
1. 按下 Commit
2. 寫下這一次變更的註解
3. 這邊打勾的話 , 就可以直接 Commit 的時候順便 Push 到伺服器上
4. 按下 Commit 確認
在 Gitlab 的 Commits 可以看到每次變更的內容
拉變更 (pull)
• Repository 並不是只有你一個人在使用• 也有可能有別人做了變更• 你需要拉別人的變更下來 (pull)
Workflow
1. 從 Server Pull 下來2. 按照原本的作業方式修改檔案 , 新增檔案… 等等3. 變更後的東西都在 Unstaged files, 把這一次的批次變更的檔案放到
Staged files4. 進行 Commit 並且寫下這一次變更的註解5. Push 到 Server
3 跟 4 可以用 Checkbox 勾選的方式一次一起做也可以做了一大堆 1-3 之後再一次做 4 把一堆 push 到 server
.gitignore
• 如果是程式專案 , 通常會從程式專案的目錄整個進到 git• 但是有些檔案通常不會進到 repository, 例如• 編譯後的檔案 (.o, .obj, .so, .lib, .dll, .pyc, …)• 暫存檔 (.swp)• 外掛套件 (node_modules)• 某些設定檔
.gitignore
• 只要在 .gitignore 設定的就會被 git 忽略• 說明文件
http://git-scm.com/docs/gitignore• 打入關鍵字幫你產生 .gitignore 的服務
https://www.gitignore.io/• github 上的 .gitignore 設定
https://github.com/github/gitignore
安全性• 帳號密碼千萬別加到 repository• Auth Key 也不要• Cookie Secret 或任何 secret 類的都不要進到 repository
Markdown同場加映
到 Wiki
• 內部用的文件別再用 Word 了• 大家都編輯會有很多 Copy, 散落各處 (Google Docs 可解決 )• 超級難做出一致與精美的樣式
• 一直用滑鼠在調整字形大小、顏色…
• Markdown 只要依照他簡易的格式 + 別人寫好的樣式• 看起來很乾淨• 類似網頁有超連結的概念• GitLab 裡頭還可以指向特定的檔案、程式碼的某一行或者是 Issue• 版本控管• https://gitlab.com/help/markdown/markdown
• 另外一個 Popular 的格式 reStructuredText (rst)• http://sphinx-doc.org/rest.html
• 最後 , 一個小分享
每週分享 : 如何寫好程式碼的「 Commit Message 」? https://passionbean.wordpress.com/2012/02/22/why-good-commit-message/
• 版本控管使用方式很多種 , 如果大家都有共識 follow 共同的方式對大家來說會輕鬆很多 :D