मैं उन लोगों को प्रतिबंधित करना चाहता हूं जो कोई विशिष्ट प्रतिबद्ध संदेश प्रारूप मानते हैं, मैं यह कैसे कर सकता हूं?मैं गिट प्रतिबद्ध संदेशों के लिए एक पैटर्न कैसे सेट करूं?
उदाहरण के लिए: Pair_Name|Story_Number|Commit_Message
मैं उन लोगों को प्रतिबंधित करना चाहता हूं जो कोई विशिष्ट प्रतिबद्ध संदेश प्रारूप मानते हैं, मैं यह कैसे कर सकता हूं?मैं गिट प्रतिबद्ध संदेशों के लिए एक पैटर्न कैसे सेट करूं?
उदाहरण के लिए: Pair_Name|Story_Number|Commit_Message
वहाँ, एक pre-commit-msg
या commit-msg
हुक है कि आप इस्तेमाल कर सकते हैं:
Git रेपोस नमूना हुक, जैसे के साथ आते हैं नमूना commit-msg
git/hooks/commit-msg.sample
के तहत हुक डुप्लिकेट साइन-इन-लाइनों को पकड़ता है।
# This example catches duplicate Signed-off-by lines.
test "" = "$(grep '^Signed-off-by: ' "$1" |
sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
echo >&2 Duplicate Signed-off-by lines.
exit 1
}
एक हुक सक्षम करने के लिए, इसे निष्पादन योग्य बनाने के लिए मत भूलना।
#!/usr/bin/env ruby
message_file = ARGV[0]
message = File.read(message_file)
# $regex = /\[ref: (\d+)\]/
PAIRS = ["london", "paris", "moscow"] # only these names allowed
STORIES = "\d{2,4}" # story must be a 2, 3 or 4 digit number
MESSAGE = ".{5,}" # message must be at least 5 chars long
$regex = "((#{PAIRS.join('|')})\|#{STORIES}\|#{MESSAGE})"
if !$regex.match(message)
puts "[POLICY] Your message is not formatted correctly"
exit 1
end
उपयोग में:
$ git ci -m "berlin|120"
[POLICY] Your message is not formatted correctly
$ git ci -m "london|120|XX"
[POLICY] Your message is not formatted correctly
$ git ci -m "london|120|Looks good."
[master 853e622] london|120|Looks good.
1 file changed, 1 insertion(+)
नोट:
यहाँ कुछ काल्पनिक उदाहरण है, जो केवल london|120|something ...
के संदेशों के लिए प्रतिबद्ध स्वीकार करेंगे और की तरह है इस तरह का प्रतिबंध का gitolite का हिस्सा भी है (authorization layer जो रेपो को दबाते समय सभी प्रकार के चेक की अनुमति देता है)
आप "git gitolite (v3) pre-receive
hook for all commit messages" पर एक उदाहरण देख सकते हैं।
गिटोलाइट के साथ विचार यह है कि आप उपयोगकर्ताओं के विशिष्ट समूहों के लिए विशिष्ट प्रतिनिधि पर आसानी से उस हुक को तैनात कर सकते हैं।