ปกติแล้วตอน Build Program นอกจาก Stamp เลขเวอร์ชันตาม Tag หรือ ตามที่ผู้ใช้งานป้อนเข้าไปแล้ว ทางผมยังได้ใส่เลขอีกตัวนึง เพื่อเราไว้ค้นหาความจริงด้วยครับ
SVN ตัวเดิมๆ
- SVN ตัวเดิมๆใช้คำสั่งตามนี้ครับ
svn info --show-item last-changed-revision
- ผลลัพธ์ที่ได้จะเป็นตัวเลขของ Commit ซึ่งเป็นจำนวนเต็ม ที่ถูกอ้างอิงมาใช้ในการ Build ครับ
GIT เพื่อนใหม่หละ ?
- ก่อนอื่นเลข GIT ไม่มีเลข Revision นะครับ ต้องของทดแทนครับ
- วิธีแรก: ไม่มีเลข Revision ก็นับจำนวน Commit เลยและกัน
- วิธ๊สอง: ใช้เลขของ Commit ของ Git ครับ แต่จะอ่านยากนิดนึงครับ
- ทั้งสองวิธีมีข้อดี/ข้อเสียต่างกันครับ เดวลองมาดูในแต่ละห้วข้อย่อยๆกันครับ
- นับจำนวน Commit เลย
- การนับจำนวน Commit ใน Git สามารถนับได้ ดัวยคำสั่ง
git rev-list --count HEAD
- ผลลัพธ์ที่ได้ครับ
- ข้อดี / ข้อเสีย
- ข้อดี - อ่านง่าย
- ข้อเสีย - อ้างอิงกับ Code ใน Repo มันยากครับ
- เลขของ Commit ของ Git ครับ
- การดูว่า Commit ล่าสุดมีเลขอะไร จริงๆมันก็ไม่ใช่ตัวเลขนะออกจะเป็นการเข้ารหัสมากกว่าครับ โดยใช้คำสั่ง
git rev-parse HEAD
- ผลลัพธ์ที่ได้ครับ
- ข้อดี / ข้อเสีย
- ข้อดี - อ้างอิงกับ Code ใน Repo มันยากครับ
- ข้อเสีย - ผลลัพธ์ที่ได้มันยาวมากกกกกกครับ ถ้าจะเอาไปแนบใน Attribute ของ File จะมีข้อจำกัดอยู่ครับ
- แถมจากข้อเสียใช่ว่ามันจะใช้ไม่ได้นะ - ตัดมันออกมาให้เหลือสัก 10-15 หลักแรกก็พอครับ ตัว GIT / GIT Lab มันเอาไป Search หา Commit นั้นใน Repo ได้อยู่ครับ
- Linux Shell : ดึง GIT Commit และตัดให้เหลือ 10 ตัว โดยใช้คำสั่ง ดังนี้
git rev-parse HEAD | cut -c 1-10
- Power Shell : ดึง GIT Commit และตัดให้เหลือ 10 ตัว โดยใช้คำสั่ง ดังนี้
git rev-parse HEAD | % {$_.Substring(0,10)}
- Linux Shell : ดึง GIT Commit และตัดให้เหลือ 10 ตัว โดยใช้คำสั่ง ดังนี้
- มาดูผลลัพธ์ของ Linux Shell กับ Power Shell กันครับ
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.