githooks之防止分支誤合併

2021-10-14 14:41:10 字數 1515 閱讀 8993

在多人協作時,我們會把各自的分支開發的功能合併入test分支。有的分支可能有當前版本不能上的**。這時如果有人將test分支合到自己當前需要發的分支中,會將自己分支給汙染,一不注意就會影響整個系統當前版本上線;我們一般會約定test分支只可合入**,而不能將其合入其它分支。約定的有時一不注意就會出錯,因此這裡我們將通過自動化檢測防止分支誤合併,通過硬性機制控制

// 檢查提交記錄是否包含name

function

checkmerge

(name)

'"`,

(err,stdout,stderr)

=>

return

resolve(!

!stdout)})

})}// 檢查當前分支是否為name

function

checkbranch

(name)

return

resolve

(stdout.

search

(name)

===0)}

)})}

module.exports=

const

=require

('./mergelint.util.js'

)async

function

main()

console.

log(

'打標籤成功')}

);})

}}main

()

const

=require

('./mergelint.util.js'

)async

function

main()

)return

true

}// 檢查是否含測試分支

const resm =

await

checkmerge

('operate_test'

)const resm2 =

await

checkmerge

('operate_dev'

)// 為開發分支

if(resm||resm2)

console.

log(

'請不要合併test和dev分支到當前分支!'

) childprocess.

exec

(`git tag -d m0.1.0`

,function()

)});

}else)}

}main

()

使用git鉤子防止合併分支

git是一款實用的版本管理工具,我們通過git init初始化乙個git倉庫,git會在當前目錄為我們生成乙個.git 目錄,用來管理我們的版本檔案資訊。在這個目錄中有乙個二級目錄.git hooks 它裡面存放了一些git執行的鉤子指令碼,在git執行的不同時期,執行不同的鉤子。我們可以通過編寫一...

Gitlab之合併分支

cd project dir 進入路徑 git fetch origin 將master遠端最新 更新到本地 git checkout b release v1.5.0 origin release v1.5.0 切換到release v1.5.0分支 git fetch origin 將relea...

忘記建分支無法轉換分支 git之切換分支出現的問題

當在其他分支,如test分支開發的時候,新增了資料夾等目錄結構。開發完成後,切換會master分支。如果出現 deletion of directory failed.should i try again?y n 此時,記得選擇n。不然,如果選擇了y,則git就會強制刪除不屬於master分支的檔案...