คำถามติดแท็ก githooks

Git hooks คือสคริปต์ที่ดำเนินการกับเหตุการณ์ git บางอย่าง เหตุการณ์รวมถึง แต่ไม่ จำกัด เฉพาะ pre- และ post-comm และ pre- และ post-rebase บนฝั่งไคลเอ็นต์และหลังรับ - คอมมิตบนฝั่งเซิร์ฟเวอร์ ไม่จำเป็นต้องใช้แท็ก Hooks เมื่อใช้แท็ก Githooks อาจใช้ร่วมกับแท็ก Webhooks

3
ข้าม Git ส่ง hooks
ฉันกำลังมองหา git hook ซึ่งค้นหาคำสั่งการพิมพ์ในโค้ด Python หากพบคำสั่งพิมพ์คำสั่งนี้จะป้องกันการคอมมิต ฉันต้องการแทนที่ตะขอนี้และฉันก็บอกว่ามีคำสั่งให้ทำ ฉันหามันไม่เจอ ความคิดใด ๆ
504 git  githooks  git-commit 

19
ปรับใช้โครงการโดยใช้ Git push
เป็นไปได้git pushหรือไม่ที่จะปรับใช้เว็บไซต์โดยใช้? ฉันมีเรื่องลางสังหรณ์เกี่ยวกับการใช้git hooksเพื่อทำgit reset --hardบนฝั่งเซิร์ฟเวอร์ แต่ฉันจะทำอย่างไรให้สำเร็จ

11
สคริปต์ Git hook สามารถจัดการพร้อมกับที่เก็บได้หรือไม่?
เราต้องการสร้างสคริปต์เบ็ดพื้นฐานบางอย่างที่เราทุกคนสามารถแบ่งปันได้ - สำหรับสิ่งต่าง ๆ เช่นการจัดรูปแบบการส่งข้อความล่วงหน้า Git <project>/.git/hooks/มีสคริปต์เบ็ดสำหรับที่จะถูกเก็บไว้ตามปกติ อย่างไรก็ตามสคริปต์เหล่านั้นจะไม่ถูกเผยแพร่เมื่อผู้ใช้ทำการโคลนและไม่ได้ควบคุมเวอร์ชัน มีวิธีที่ดีที่จะช่วยให้ทุกคนได้รับสคริปต์ที่ถูกต้องหรือไม่ ฉันสามารถทำให้เบ็ดสคริปต์เหล่านั้นชี้ไปที่สคริปต์ควบคุมเวอร์ชันใน repo ของฉันได้หรือไม่
337 git  githooks 

4
การใช้เบ็ดหลังการคอมไพล์คอมไพล์กับ repos ปัจจุบันและอนาคตทั้งหมด
ฉันเขียนเบ็ดหลังการคอมมิท Git และทำงานได้ถูกต้อง อย่างไรก็ตามฉันต้องการเพิ่ม hook นี้เพื่อใช้กับที่เก็บ git ปัจจุบัน (และอนาคต) ทั้งหมดที่ฉันกำลังทำงานอยู่ ฉันพยายามเพิ่มเบ็ดลง~/.git/hooks/ในไดเรกทอรี hooks ในไดเรกทอรีโครงการ แต่ดูเหมือนจะไม่ทำงาน มีวิธีใดในการสร้าง hooks Git ทั่วโลกที่จะนำไปใช้กับที่เก็บข้อมูลทั้งหมดในระบบของฉัน (โดยไม่ต้องคัดลอกลงในแต่ละไดเรกทอรีโครงการ) หากไม่มีสิ่งใดจะเป็นทางออกที่ดีที่สุดในอนาคต - อาจเป็นเทมเพลต git-init?
275 git  hook  githooks 

16
ทำให้ git ลบช่องว่างต่อท้ายโดยอัตโนมัติก่อนคอมมิท
ฉันใช้คอมไพล์กับทีมของฉันและต้องการลบการเปลี่ยนแปลงช่องว่างจากดิฟบันทึกการผสาน ฯลฯ ฉันคิดว่าวิธีที่ง่ายที่สุดในการทำเช่นนี้คือการใช้คอมไพล์ในการลบช่องว่างต่อท้ายออกโดยอัตโนมัติ ) จากการกระทำทั้งหมดที่ใช้ ฉันพยายามเพิ่มไฟล์ต่อไปนี้ตาม~/.gitconfigไฟล์ แต่ไม่ได้ทำอะไรเมื่อฉันส่งมอบ อาจจะออกแบบมาเพื่อสิ่งที่แตกต่าง ทางออกคืออะไร? [core] whitespace = trailing-space,space-before-tab [apply] whitespace = fix ฉันใช้ทับทิมในกรณีที่มีใครมีความคิดเฉพาะทับทิม การจัดรูปแบบรหัสอัตโนมัติก่อนที่จะส่งมอบจะเป็นขั้นตอนต่อไป แต่นั่นเป็นปัญหาที่ยากและไม่ก่อให้เกิดปัญหาใหญ่จริงๆ
220 git  whitespace  githooks 

9
ใส่ git hooks ลงในที่เก็บ
มันถือว่าเป็นแนวปฏิบัติที่ไม่ดีหรือไม่ - ใส่.git/hooksลงในที่เก็บโครงการ (ใช้ symlink เป็นต้น) ถ้าใช่เป็นวิธีที่ดีที่สุดในการส่ง hooks แบบเดียวกันกับผู้ใช้ git ที่แตกต่างกันคืออะไร
198 git  hook  githooks 

10
อัปเดต package.json รุ่นอัตโนมัติ
ก่อนที่ฉันจะปล่อยเล็ก ๆ และติดแท็กฉันต้องการอัปเดต package.json เพื่อให้สอดคล้องกับโปรแกรมเวอร์ชั่นใหม่ มีวิธีแก้ไขไฟล์package.jsonโดยอัตโนมัติหรือไม่? จะใช้ความgit pre-release hookช่วยเหลือหรือไม่?
183 git  node.js  npm  githooks 

12
Git push error ได้รับฮุ๊กล่วงหน้าถูกปฏิเสธ
ฉันได้ทำงาน gitlabhq รางเซิร์ฟเวอร์บนเครื่องเสมือนดังต่อไปนี้ 1-6 ขั้นตอนจากนี้กวดวิชาhttps://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.mdsudo -u git -H bundle exec rails s -e productionและเริ่มต้นรางคำสั่งเซิร์ฟเวอร์การดำเนินการ หลังจากนั้นฉันสร้างผู้ใช้โดยใช้เครื่องมือผู้ดูแลระบบและสร้างโครงการใหม่ภายใต้ผู้ใช้นี้ จากนั้นฉันพยายามที่จะผลักดันโครงการที่มีอยู่ไปยัง repo นี้เช่นเคย แต่ในขั้นตอนสุดท้ายgit push origin masterล้มเหลวด้วยข้อผิดพลาด [ปฏิเสธระยะไกล] master -> master (ปฏิเสธการขอล่วงหน้า) ข้อมูลเพิ่มเติม: 1) ฉันยังไม่ได้เปิดใช้งานผู้ใช้ (เจ้าของโครงการ) ผ่านลิงก์เปิดใช้งานอีเมลเพราะฉันไม่ได้กำหนดค่าบริการไปรษณีย์บนฝั่งเซิร์ฟเวอร์และฉันไม่พบคำแนะนำวิธีการทำเช่นนั้นในคู่มือนี้ 2) เซิร์ฟเวอร์ Gitlab สร้างเคล็ดลับวิธีผลักโครงการเพื่อซื้อคืนและไม่มีrepositories/เส้นทาง ฉันหมายถึงมันสร้างขึ้นgit@mygitlabhost:user/repo.gitแทนที่git@mygitlabhost:repositories/user/repo.gitถูกต้อง 3) เมื่อฉันพยายามที่จะแก้ปัญหานั้นผมเปิดpre-receiveสคริปต์ภายใน repo บนเซิร์ฟเวอร์และพยายามที่จะตัวแปรเอาท์พุท (มี 3 ของพวกเขา) refs = ARGF.read, key_id = ENV['GL_ID']และrepo_path …
168 gitlab  githooks 

1
ฉันจะเชื่อมโยงการพึ่งพาใน repo คอมไพล์ได้อย่างไร
ในสคริปต์ของฉันฉันมักจะใช้ห้องสมุด (ของฉันหรือของคนอื่น) ที่มี repos ของตัวเอง ฉันไม่ต้องการทำซ้ำสิ่งที่อยู่ใน repo ของฉันและติดอยู่กับการอัพเดททุกครั้งที่มีเวอร์ชันใหม่ออกมา อย่างไรก็ตามเมื่อมีคนโคลน repo มันควรจะทำงานในพื้นที่และไม่มีการเชื่อมโยงที่ขาด ความคิดใด ๆ เกี่ยวกับสิ่งที่ฉันสามารถทำได้?

11
Git hook เพื่อส่งอีเมลแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลง repo
ฉันจะกำหนดค่า Git hook ที่เหมาะสมเพื่อส่งอีเมลสรุปได้อย่างไรเมื่อใดก็ตามที่มีการพุชชุดการเปลี่ยนแปลงไปยังที่เก็บอัพสตรีม
101 git  githooks 

3
git hooks ถูกผลักไปที่รีโมทเมื่อฉัน 'git push' หรือไม่?
ถ้าฉันสร้างสคริปต์ hook ใหม่ในที่เก็บในเครื่องของฉันใน repo / .git / hooks / post-comm แล้วฉันเรียกใช้ "git push" ตะขอจะถูกผลักไปที่รีโมตหรือไม่ จากนั้นเมื่อนักพัฒนารายอื่นเรียกใช้ "git pull" จากแหล่งกำเนิดเดียวกันพวกเขาจะได้รับ hooks ใหม่ของฉันหรือไม่?
96 git  githooks 

13
ฉันจะปรับใช้แอปของฉันโดยอัตโนมัติหลังจากการพุช git (GitHub และ node.js) ได้อย่างไร
ฉันมีแอปพลิเคชันของฉัน (node.js) ที่ใช้งานบน VPS (linux) ฉันใช้ git hub เป็นที่เก็บ ฉันจะปรับใช้แอปพลิเคชันโดยอัตโนมัติบน git push ได้อย่างไร
92 git  node.js  github  push  githooks 

5
ได้รับ "fatal: not a git repository:". "" เมื่อใช้ post-update hook เพื่อเรียกใช้งาน 'git pull' บน repo อื่น
ฉันเพิ่งเริ่มคอมไพล์ดังนั้นฉันขอโทษ (และโปรดแก้ไขฉันด้วย) หากฉันใช้คำศัพท์ผิด ๆ ที่นี่ แต่ฉันจะพยายามอย่างดีที่สุด ฉันกำลังพยายามตั้งค่า repo git (ฮับ) และไซต์การพัฒนาที่ทำงานได้ (ไพรม์) บนเว็บเซิร์ฟเวอร์ ฉันได้พยายามที่รูปแบบมันหลังจากที่บทความนี้ ฉันต้องการให้สำเนาการทำงานของการพัฒนาอัปเดตเมื่อใดก็ตามที่ฮับ repo ถูกผลักไปที่ ฉันรู้สึกว่าตะขอที่เหมาะสมสำหรับสิ่งนี้คือpost-updateสิ่งที่ฉันสร้างขึ้น: #!/bin/sh whoami cd /path/to/working-copy/ RET=`git pull` echo $RET อัปเดต เมื่อฉันพุชการเปลี่ยนแปลงจาก repo ในเครื่องไปยังฮับเปล่าฉันจะได้ผลลัพธ์ต่อไปนี้จากสคริปต์หลังการอัปเดต: remote: sites remote: fatal: Not a git repository: '.' อย่างไรก็ตามหากฉัน SSH เข้าสู่เซิร์ฟเวอร์ในฐานะ 'ไซต์' ของผู้ใช้และเรียกใช้สคริปต์นี้ด้วยตนเองมันใช้งานได้ดีมีความคิดใด ๆ เกี่ยวกับสิ่งที่อาจเกิดขึ้นกับตะขอหรือสคริปต์นี้
90 git  githooks 

6
ลิงก์สัญลักษณ์ไปยังเบ็ดในคอมไพล์
ฉันเขียน post-merge hook ที่กำหนดเองตอนนี้ฉันเพิ่มไดเร็กทอรี "hooks" ในโฟลเดอร์โปรเจ็กต์หลักของฉัน (เนื่องจาก git ไม่ติดตามการเปลี่ยนแปลงใน. git / hooks) บางแห่งฉันอ่านว่าฉันสามารถสร้างลิงก์สัญลักษณ์จาก hooks ได้ เป็น. git / hooks ดังนั้นฉันจึงไม่ต้องคัดลอกไฟล์จากโฟลเดอร์หนึ่งไปยังอีกโฟลเดอร์หนึ่งทุกครั้งที่มีคนเปลี่ยนไฟล์ดังนั้นฉันจึงลอง: ln -s -f hooks/post-merge .git/hooks/post-merge แต่ดูเหมือนจะไม่ได้ผลความคิดใด ๆ ทำไม? "ln hooks / post-merge .git / hooks / post-merge" ใช้งานได้ดี แต่การสร้างฮาร์ดลิงก์จะเหมือนกับการ copyin ฉันเดาว่า ....
86 linux  git  githooks 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.