檢視 Git 的原始碼
←
Git
跳至導覽
跳至搜尋
由於以下原因,您無權編輯此頁面:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
'''Git'''是一套版本控制系統(VCS)。 == Hook == Hook是針對某些行為的操作(通常包括了<code>pre-</code>以及<code>post-</code>),可以設計一些<code>pre-hook</code>在本地端擋住常見的錯誤行為。 === 範例 === 禁止在<code>develop</code>下直接commit,在<code>.git/hooks/pre-commit</code>裡面設定: <syntaxhighlight lang="bash"> #!/bin/bash if [[ "$(git rev-parse --abbrev-ref HEAD)" = "develop" ]]; then echo "You cannot commit directly to the develop branch." exit 1 fi </syntaxhighlight> 禁止<code>develop</code>從其他branch rebase更新,但允許<code>origin/develop</code>,在<code>.git/hooks/pre-rebase</code>裡面設定: <syntaxhighlight lang="bash"> #!/bin/bash # $1: source branch. # $2: destination branch (empty if it's current branch). if [[ "$2" = "develop" || ( "$2" = "" && "$(git rev-parse --abbrev-ref HEAD)" = "develop" ) ]]; then if [[ "$1" = "origin/develop" ]]; then # OK exit 0 fi echo "You cannot rebase develop branch from branch other than origin/develop." exit 1 fi </syntaxhighlight> === Global === 可以在<code>.gitconfig</code>將整包專案設定自定義的<code>hooksPath</code>,把上面提到的hook files(像是<code>pre-commit</code>或是<code>pre-rebase</code>)放到指定的目錄就可以了: <syntaxhighlight lang="ini"> [core] hooksPath = ~/git/work/hooks </syntaxhighlight> 除了全域設定以外,也可以搭配<code>includeIf</code>變成區域設定,只針對某些目錄下的專案使用特定的hook: <syntaxhighlight lang="ini"> [includeIf "gitdir:~/git/work"] path = ~/git/work/.gitconfig </syntaxhighlight> == 外部連結 == * {{Official|https://git-scm.com/}} {{en} [[Category:軟體]]
此頁面使用了以下模板:
Template:Official
(
檢視原始碼
)
Template:Official website
(
檢視原始碼
)
Module:Arguments
(
檢視原始碼
)
Module:Official website
(
檢視原始碼
)
Module:URL
(
檢視原始碼
)
返回到「
Git
」。
導覽選單
個人工具
登入
命名空間
頁面
討論
臺灣正體
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
視圖
閱讀
檢視原始碼
檢視歷史
更多
搜尋
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊