ชื่อเรื่องสวยมากพูดมันทั้งหมด
ใน repo ท้องถิ่นฉันมีโฟลเดอร์ .git ที่มี hooks ของฉัน ฉันใช้แหล่งที่มา Lua ที่กำหนดเองเพื่อเขียนเวอร์ชันปัจจุบันในไฟล์ภายในตัวมันเอง จากนั้นในเบ็ดก่อนการคอมมิตฉันมี:
#!/bin/sh
#
# An example hook script to verify what is about to be committed.
# Called by "git commit" with no arguments. The hook should
# exit with non-zero status after issuing an appropriate message if
# it wants to stop the commit.
#
# To enable this hook, rename this file to "pre-commit".
echo "START" >> E:/Desktop/tmp.txt
exec $LUA_HOME\\lua.exe ${PWD}\\hooks\\pre-commit.lua "${PWD}/lua/autorun/trackassembly_init.lua" "Rev." > E:/Desktop/tmp.txt
ฉันมีไฟล์สองไฟล์ ในตอนแรกฉันทำการเปลี่ยนแปลงจริง (ไฟล์ต้นฉบับ) อันที่สองที่ฉันใช้เพื่อเขียนเวอร์ชันปัจจุบันใน ( version file )
เมื่อใดก็ตามที่ฉันใช้ TortoiseGit และทำ:
1) Modify the source file
2) Repo Directory --> Right Click --> Git Commit "master"
ข้อมูลเกี่ยวกับไฟล์ต้นฉบับจะถูกเพิ่มลงในดัชนี แต่ไม่มีร่องรอยของไฟล์เวอร์ชันที่เปลี่ยนแปลงโดยมีเวอร์ชันใหม่อยู่ข้างใน สิ่งนี้นำไปสู่ความแตกต่างระหว่างสำเนาการทำงานและไฟล์เวอร์ชันและ TortoiseGit ใส่ (!) ไว้ในไดเร็กทอรี
ตามคู่มือ:
เบ็ดที่คอมมิตล่วงหน้าจะถูกรันก่อน ก่อนที่คุณจะพิมพ์ข้อความคอมมิตด้วยซ้ำ ใช้เพื่อตรวจสอบสแน็ปช็อตที่กำลังจะกระทำ เพื่อดูว่าคุณลืมบางสิ่งบางอย่างหรือไม่ เพื่อให้แน่ใจว่าการทดสอบดำเนินไป หรือเพื่อตรวจสอบสิ่งที่คุณต้องตรวจสอบในโค้ด การออกจากจุดที่ไม่ใช่ศูนย์จากฮุคนี้จะยกเลิกการคอมมิต