ฉันจะแสดงชื่อของสาขาในผลลัพธ์ของได้git logอย่างไร
ตัวอย่างเช่นgit log --graph --allฉันได้รับภาพรวมที่ดีของความมุ่งมั่น แต่สับสนว่าสายใดเป็นสายหลักและเป็นสาขาของฉันเช่นกัน
ฉันจะแสดงชื่อของสาขาในผลลัพธ์ของได้git logอย่างไร
ตัวอย่างเช่นgit log --graph --allฉันได้รับภาพรวมที่ดีของความมุ่งมั่น แต่สับสนว่าสายใดเป็นสายหลักและเป็นสาขาของฉันเช่นกัน
คำตอบ:
ลองตัวเลือกการตกแต่ง
git log --graph --all --decorate
มันจะใส่คำอธิบายประกอบที่ชี้ไปตามแท็กหรือสาขา
--prettyคุณสามารถใช้%dสถานที่ที่คุณต้องการ 'ตกแต่ง'
git log --graph --all --oneline --decorateด้วย ฉันมีนามแฝงgit graphที่ใช้--pretty(เพื่อที่จะแสดงสิ่งอื่น ๆ เช่นกันในฐานะนักเขียนและวัน) แต่มีไม่ให้ฉันสีของ%d --decorateผมใช้สีเหลืองสำหรับ refs ทั้งหมดของฉันตอนนี้คุณจะรู้ว่าฉันสามารถปล่อยให้--pretty's %dสตริงสืบทอดสีของ--decorate?
--prettyรูปแบบของคุณให้เพิ่ม%C(auto)องค์ประกอบที่ควรมีสีก่อนองค์ประกอบ เช่นgit log --pretty=format:"%cd %h %cn %s %C(auto)%d"
ฉันกำลังมองหาสิ่งที่คล้ายกับนี้ - แต่ต้องการทราบว่ามีการเปลี่ยนแปลงสาขาใด หวังว่าคำตอบนี้จะใช้กับคนอื่นด้วย
ฉันกำลังตรวจสอบความเสี่ยงด้วยblackboxการเข้ารหัสที่ repo และเป็นสาขา / แท็กอาจไม่พร้อมใช้งานในปัจจุบันadminsเมื่อผู้ใช้ออกจากโครงการเพียงพอและkeyringsไดเรกทอรีไม่ได้ยึดหลักจากศาสนาอย่างเคร่งครัด)
ฉันพบว่าคำตอบด้านล่างมีประโยชน์ในกรณีที่keyringsไม่มีการอัปเดตไดเรกทอรีจากต้นแบบ ...
โดยพื้นฐานแล้วการเพิ่ม--sourceคือสิ่งที่ฉันต้องการเพื่อแสดงกิ่ง / แท็ก การเพิ่ม--name-onlyจะแสดงว่าไฟล์ใดที่ถูกเปลี่ยนแปลงจริง
cd /path/to/repo-that-uses-blackbox-encryption
git log --graph --all --decorate --source --name-only keyrings
--sourceคนเดียวให้HEADสำหรับความมุ่งมั่นทั้งหมด เมื่อใช้ร่วมกับ--allสิ่งนี้ดูเหมือนว่าจะแยกแยะระหว่างสาขาต่าง ๆ แต่ข้อมูลที่แสดงไม่ใช่สิ่งที่ฉันคาดหวัง: สำหรับความมุ่งมั่นที่ฉันทำmasterแทนที่จะได้รับrefs/heads/masterฉันจะได้สาขาส่วนตัว ( refs/remotes/origin/…) ฉันสงสัยว่าการรวมและ / หรือสาขาใหม่ทำให้Gitข้อมูลประวัติสูญหาย
--allฉันสามารถกรองสาขาด้วย--branches --remotes=<pattern>แต่ทันทีที่มีการรวมสาขาสองสาขาเข้าด้วยกัน Git จะไม่มีข้อมูลที่มีการกระทำเมื่อเสร็จสิ้นอีกต่อไป
หากคุณบังเอิญใช้ oh-my-zsh เป็นเทอร์มินัลของคุณคุณสามารถใช้นามแฝง git จำนวนมากได้ ซึ่งทั้งหมดนี้สามารถมองเห็นที่ซื้อคืนของพวกเขาโอ้ฉัน-zsh / ปลั๊กอิน / คอมไพล์ หากคุณไม่ได้ใช้เทอร์มินัลนี้คุณก็สามารถคว้านามแฝงและวางสิ่งที่คุณต้องการในสภาพแวดล้อมของคุณเอง
คำตอบที่ยอมรับนำเสนอgit log --graph --all --decorateคำสั่งซึ่งมีให้เป็นglggaนามแฝงใน oh-my-zsh
ส่วนตัวฉันชอบglodsนามแฝงที่แปลเป็น:
git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset' --date=short
gitอัปเดตล่าสุดบางอย่าง