Redmine 和 Git 想要自動串接(Git Commit 後, 自動嵌入 Redmine 的 Ticket issue 內), 要如何做呢?
標籤: git
使用 Git / Diff 比較目錄內所有檔案的差異
有兩個資料夾, 要比對兩個資料夾裡面的檔案差異, 可以使用 Git 和 Diff 來快速達成.
閱讀全文〈使用 Git / Diff 比較目錄內所有檔案的差異〉
Git immersion 入門教學文件
Git 市面上的書, 可能很多都太過複雜, 這份文件(或者可以說是線上電子書)可以很快速的入門與理解 Git 相關的操作與設定, 非常推薦閱讀.
Git Magic 免費電子書
學習 Git 可以參考此書, 可免費線上閱讀、PDF 下載, 而且有繁體中文版可以看~
(內容不多, 可以看整頁的版本, 3hr 內應該都可以全部看完)
閱讀全文〈Git Magic 免費電子書〉
使用 Git Commit 來產生 Change Log
一般在每次 Release 都會寫 Change Log, 如果平常 Commit Log 都有寫得很清楚的話, 可以由 Git commit log 直接產生出來.
設定 Git Commit 更新 自動寄信通知
Git 有任何 Commit / Push / 更新, 想要自動寄信通知, 要如何設定?
Linux 使用 Gitolite 架設 Git Server
單純使用 SSH 架設可見此篇: Linux 架設使用 SSH 共享存取的 Git Server
想要控管 User / Project 權限, 而且還想要控管 branch / tag 等讀寫權限, 則需要靠 Gitolite 等套件來協助.
- gitolite - SSH-based gatekeeper for git repositories
此篇主要寫的是 Gitolite 架設, 若之前已經有依照上述文章架設共享存取的 Git Server, 而 Gitolite 也想用 git 的帳號來管理, 則需做下述動作先改回原始設定.
註: 此文會用 gitolite 的帳號來管理, 不會用 git 帳號, 所以不需要做下述更改的動作
- vim /etc/passwd
git:x:1000:1000::/home/git:/usr/bin/git-shell
改回
git:x:1000:1000::/home/git:/bin/sh - mv /home/git/.ssh/authorized_keys /home/git/.ssh/authorized_keys.bak
Linux 使用 Gitosis 架設 Git Server
單純使用 SSH 架設可見此篇: Linux 架設使用 SSH 共享存取的 Git Server
想要控管 User / Project 權限的話(限制某些 User 只能存取某些 Project), 則需要靠 Gitosis 或 Gitolite 等套件來協助.
- gitosis - git repository hosting application
- gitolite - SSH-based gatekeeper for git repositories
此篇主要寫的是 Gitosis 架設, 若之前已經有依照上述文章架設共享存取的 Git Server, 而 Gitosis 也想用 git 的帳號來管理, 則需做下述動作先改回原始設定.
註: 此文會用 gitosis 的帳號來管理, 不會用 git 帳號, 所以不需要做下述更改的動作
- vim /etc/passwd
git:x:1000:1000::/home/git:/usr/bin/git-shell
改回
git:x:1000:1000::/home/git:/bin/sh - mv /home/git/.ssh/authorized_keys /home/git/.ssh/authorized_keys.bak
Linux 架設使用 SSH 共享存取的 Git Server
Git 架設使用 HTTP 就是走 Web server 的權限, 走 SSH 就是各個帳號的權限. (Git 的 object 目錄裡面會有權限問題)
若多人共用的話, 要走 SSH 有下述幾種方法:
- 建立新帳號(git), 由 git 帳號來統一管理(commit / push) 等
- 使用 gitosis 來管理(gitosis 可以設定到 "誰" 可以存取此專案).
- 使用 gitolite 來管理(gitolite 可以設定 "誰" 可以存取此專案, 而且, 可以設定只能存取哪個 branch 等路徑)
在此篇是採用 建立一個 git 帳號來統一管理的方法.
Git 初學文件整理
Git 是套版本控制系統, 初學且最常用的, 就是官方網站的那兩個範例.(下述兩個取自官方範例)