รายละเอียดหมายเลขรุ่น Git


1

ค่อนข้างใหม่สำหรับ Git ฉันเพิ่งปรับปรุงมันบน Mac ของฉัน ฉันอัพเกรดโดยใช้คำสั่ง 4 เหล่านี้:

$ git clone git://git.kernel.org/pub/scm/git/git.git
$ cd git
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install

$ git --version
git version 1.7.3.2.164.g6f10c

Git รุ่นเก่าของฉันเรียบง่าย: 1.7.1.x

ฉันมีงานสร้างล่วงหน้าหรือไม่? ถ้าเป็นเช่นนั้นฉันจะใช้ git เองได้อย่างไรเพื่อเช็คเอาต์ล่าสุด มีเสถียรภาพ สร้าง? git branch -a ทำให้ฉัน:

$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/html
  remotes/origin/maint
  remotes/origin/man
  remotes/origin/master
  remotes/origin/next
  remotes/origin/pu
  remotes/origin/todo

คำตอบ:


2

ฉันคิดว่านี่แบ่งออกเป็นดังนี้:

เวอร์ชันของคอมไพล์ที่คุณกำลังใช้อยู่นั้นเป็นคอมมิชชันที่ 164 คอมมิชชันตั้งแต่ 1.7.3.2 หมายเลขการแก้ไข git ที่แน่นอนเริ่มต้นด้วยคำนำหน้า g6f10c (ตัวเลข 6 หลักเหล่านี้ควรจะเพียงพอที่จะระบุการกระทำที่ไม่ซ้ำกันหากคุณต้องการอ้างถึงการแก้ไขนั้นโดยเฉพาะ)

คุณสามารถดูรุ่นที่วางจำหน่ายโดยเรียกใช้ git tag และคุณสามารถรับรุ่น 1.7.3.2 อย่างแน่นอน โดยวิ่ง git checkout v1.7.3.2.


ขอบคุณ! ฟังดูเหมือนว่าจะใช้ได้ ขอโทษที่ไม่คุ้นเคยกับ Git ดังนั้นหลังจาก git checkout v1.7.3.2 ฉันตรวจสอบสาขาท้องถิ่นด้วย git branch และฉันเห็น master และ * (no branch). ฉันคาดหวังว่าจะเห็น master และ * 1.7.3.2. บอกว่าฉันเดินจากโครงการนี้ไปสองสามสัปดาห์แล้วกลับมา ฉันจะบอกได้ว่ารุ่นใดอยู่ในที่เก็บข้อมูลในเครื่องของฉัน
Meltemi

1
แท็ก @Meltemi แตกต่างจากสาขา สาขามีวัตถุประสงค์เพื่อติดตามทิศทางการพัฒนาพร้อมกันดังนั้นคอมไพล์ยังจำได้ว่าคุณอยู่ในสาขาใดสาขาหนึ่งและช่วยให้คุณสามารถเปลี่ยนแปลงสาขาใหม่ แท็กเป็นภาพถ่ายของรุ่นใดรุ่นหนึ่ง ณ เวลาใดเวลาหนึ่งดังนั้นการทำงาน git branch จะบอกว่าคุณอยู่ใน (no branch). หากต้องการทราบว่ามีรุ่นใดบ้างในที่เก็บของคุณ git checkout masterและเรียกใช้ git describe. มันจะให้หมายเลขเวอร์ชั่นที่แยกตามที่ฉันอธิบายที่นี่
Ken Bloom

ฉันไม่คุ้นเคย git describe. ฉันเพิ่งวิ่งบนพื้นที่เก็บข้อมูลในท้องถิ่นของฉันและมันกลับมาด้วย v1.7.3.2 ซึ่งเป็นสิ่งที่ฉันคาดหวัง ขอบคุณ! ดังนั้นคำถามสุดท้าย: คือ * (no branch) ปกติ? หรือฉันต้องการที่จะตั้งชื่ออย่างใด? หรือฉันควรสร้างและติดตั้งแล้วลบสิ่งนี้ (ไม่มีสาขา)? ดูเหมือนว่าแปลกสำหรับฉันที่จะมีชื่อสาขาที่ใช้งานอยู่ (ไม่มีสาขา) อยู่ในเครื่องของฉัน ... ฉันไม่ต้องการให้ dev สร้างขึ้นบนเครื่อง เพียงแค่ต้องการเข้าใจเวิร์กโฟลว์สำหรับการใช้ git เพื่อรับแหล่งที่มาของตัวเองแล้วสร้าง / ติดตั้ง ...
Meltemi

(no branch) เป็นเรื่องปกติเมื่อคุณตรวจสอบแท็กแล้ว หมายความว่าคุณไม่ได้อยู่ในสาขาและคุณไม่สามารถกระทำได้ หากต้องการทราบว่าเกิดอะไรขึ้นให้ดูที่ ทำความเข้าใจเกี่ยวกับ Git . หลังจากที่คุณได้อ่านเกี่ยวกับหัวมีเพียงรายละเอียดเดียวที่จะเพิ่ม: สาขาเป็นหัวที่เคลื่อนที่บ่อยและแท็กคือส่วนหัวที่ไม่เคลื่อนไหว (ปกติ)
Ken Bloom

1

มีเหตุผลอย่างสมบูรณ์ที่จะต้องพิจารณาเคล็ดลับของ git.git เจ้านาย มีเสถียรภาพ

จาก เอกสาร / HowTo / รักษา git.txt :

ส่วนปลายของ 'ต้นแบบ' นั้นมีความหมายว่ามั่นคงกว่ารุ่นที่ติดแท็กและผู้ใช้ควรได้รับการสนับสนุนให้ติดตาม

ก่อนที่จะมีการรวมคุณสมบัติใหม่เข้าด้วยกัน เจ้านาย มันจะถูกตรวจสอบในรายชื่อผู้รับจดหมายและ“ ปรุง” (มักเป็นเวลาหลายสัปดาห์) ใน PU และ ต่อไป สาขาที่ผู้พัฒนาทำการทดสอบและใช้งานเป็นประจำ

หมายเลขเวอร์ชันของ Git ทำงานดังนี้:

      o----- major release: 1.7
     / o---- feature release: 1.7.3
    / / o--- maintenance release: 1.7.3.2
   / / /
1.7.3.2

รุ่นใหญ่มักจะมีการเปลี่ยนแปลงที่เข้ากันไม่ได้ การเผยแพร่คุณสมบัติแนะนำคุณสมบัติใหม่ การเปิดตัวการบำรุงรักษาประกอบด้วยการแก้ไขข้อบกพร่อง

เจ้านาย เกือบจะเป็นการรวมกันของการเปิดตัวการบำรุงรักษาล่าสุดและคุณสมบัติที่สะสมในปัจจุบันสำหรับการเปิดตัวคุณลักษณะถัดไป

ผลลัพธ์ของ git --version ขึ้นอยู่กับผลลัพธ์ของ คอมไพล์อธิบาย ในการกระทำที่ใช้ในการสร้างไบนารี (ดู GIT-Version-GEN )

ผลลัพธ์จาก คอมไพล์อธิบาย เพิ่มข้อมูลเพิ่มเติมเพื่อ“ ตอกตะปู” เฉพาะรุ่นที่ดีขึ้นเมื่อคุณยึดถือการกระทำที่ไม่ได้ติดแท็กอย่างชัดเจน

         o------------- most recent reachable tag: 1.7.3.2
        /          o--- 'g' + abbreviated object name of built commit: 6f10c
       /          /
1.7.3.2.164.g6f10c
           \
            o---------- number of commits in built commit "on top" of tag: 164

0

ณ วันนี้ 1.7.3.2 เป็นเวอร์ชั่นที่เสถียรล่าสุด http://git-scm.com/ อะไรทำให้คุณตั้งคำถามถ้าคุณมีล่าสุด?


1
เนื่องจากเขาได้รับเวอร์ชัน git จากที่เก็บ git ของ git ซึ่งพวกเขาทำการพัฒนาอย่างต่อเนื่อง master สาขา.
Ken Bloom

3
@Ken: git.git เจ้านาย เป็นการพัฒนาที่ใช้งานยาก การเปลี่ยนแปลง git.git จะได้รับการตรวจสอบในรายชื่อผู้รับจดหมาย“ ปรุง” ใน PU สาขาถ้าพวกเขามีสติพวกเขาจบการศึกษาไปที่ ต่อไป สาขาและพวกเขาค่อยๆถูกรวมเข้าด้วยกัน เจ้านาย . เจ้านาย ยังได้รับการแก้ไขข้อบกพร่องทั้งหมดจาก maint ทันที “ เคล็ดลับของ เจ้านาย มีความหมายว่ามีความเสถียรมากกว่าการวางแท็กใด ๆ ” .
Chris Johnsen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.