นี่คือคำสั่ง git-pack-objects ที่สามารถเรียกใช้ในผู้ให้บริการโฮสติ้งฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
git-pack-objects - สร้างไฟล์เก็บถาวรของวัตถุ
เรื่องย่อ
คอมไพล์ แพ็ควัตถุ [-q | --ความคืบหน้า | --all-progress] [--all-progress-โดยนัย]
[--ไม่ใช้ซ้ำ-เดลต้า] [--เดลต้า-เบส-ออฟเซ็ต] [--ไม่ว่าง]
[--ท้องถิ่น] [--ส่วนเพิ่ม] [--หน้าต่าง= ] [--ความลึก= ]
[--revs [--แตกไฟล์ | --all]] [--stdout | ชื่อฐาน]
[--shallow] [--keep-true-parents] < object-list
DESCRIPTION
อ่านรายการของอ็อบเจ็กต์จากอินพุตมาตรฐาน และเขียนไฟล์เก็บถาวรที่แพ็กด้วยที่ระบุ
ชื่อฐานหรือไปยังเอาต์พุตมาตรฐาน
ไฟล์เก็บถาวรแบบแพ็กเป็นวิธีที่มีประสิทธิภาพในการถ่ายโอนชุดของอ็อบเจ็กต์ระหว่างสองที่เก็บ
รวมถึงรูปแบบไฟล์เก็บถาวรที่มีประสิทธิภาพในการเข้าถึง ในไฟล์เก็บถาวรแบบแพ็ก วัตถุจะเป็นอย่างใดอย่างหนึ่ง
เก็บไว้เป็นไฟล์บีบอัดทั้งหมดหรือเป็นส่วนต่างจากวัตถุอื่น อันหลังคือ
มักเรียกว่าเดลต้า
รูปแบบไฟล์เก็บถาวรแบบแพ็ก (.pack) ได้รับการออกแบบให้มีอยู่ในตัวเองเพื่อให้สามารถ
แกะโดยไม่มีข้อมูลเพิ่มเติม ดังนั้นแต่ละอ็อบเจ็กต์ที่เดลต้าขึ้นอยู่กับ
จะต้องอยู่ในแพ็ค
ไฟล์ดัชนีแพ็ค (.idx) ถูกสร้างขึ้นเพื่อการเข้าถึงแบบสุ่มอย่างรวดเร็วไปยังอ็อบเจ็กต์ในแพ็ค
การวางทั้งไฟล์ดัชนี (.idx) และไฟล์เก็บถาวรที่แพ็ก (.pack) ในแพ็ก/
ไดเร็กทอรีย่อยของ $GIT_OBJECT_DIRECTORY (หรือไดเร็กทอรีใดๆ บน
$GIT_ALTERNATE_OBJECT_DIRECTORIES) เปิดใช้งาน Git เพื่ออ่านจากไฟล์เก็บถาวรของแพ็ค
พื้นที่ คอมไพล์ แกะวัตถุ คำสั่งสามารถอ่านไฟล์เก็บถาวรที่บรรจุและขยายอ็อบเจกต์
มีอยู่ในแพ็คในรูปแบบ "หนึ่งไฟล์หนึ่งวัตถุ"; นี้มักจะทำโดย
คำสั่ง smart-pull เมื่อสร้างแพ็คได้ทันทีเพื่อการขนส่งเครือข่ายที่มีประสิทธิภาพโดย
เพื่อนร่วมงานของพวกเขา
OPTIONS
ชื่อฐาน
เขียนเป็นคู่ของไฟล์ (.pack และ .idx) โดยใช้ เพื่อกำหนดชื่อ
ของไฟล์ที่สร้างขึ้น เมื่อใช้ตัวเลือกนี้ ไฟล์ทั้งสองจะถูกเขียนเป็น
- .{pack,idx} ไฟล์ เป็นแฮชตามเนื้อหาแพ็คและ
ถูกเขียนไปยังเอาต์พุตมาตรฐานของคำสั่ง
--stdout
เขียนเนื้อหาแพ็ค (สิ่งที่จะเขียนไปยังไฟล์ .pack) ออกไปยัง
เอาต์พุตมาตรฐาน
--รอบ
อ่านอาร์กิวเมนต์การแก้ไขจากอินพุตมาตรฐาน แทนแต่ละอ็อบเจ็กต์
ชื่อ. อาร์กิวเมนต์การแก้ไขได้รับการประมวลผลในลักษณะเดียวกับ คอมไพล์ รายการรอบ กับ
--objects flag ใช้อาร์กิวเมนต์การคอมมิตเพื่อสร้างรายการของอ็อบเจ็กต์ที่ส่งออก NS
ออบเจ็กต์ในรายการผลลัพธ์ถูกแพ็ก นอกจากการแก้ไข --ไม่ หรือ --ตื้น
ยังรับสาย
--แกะกล่อง
นี่หมายความว่า --revs เมื่อประมวลผลรายการอาร์กิวเมนต์การแก้ไขให้อ่านจาก
อินพุตมาตรฐาน จำกัดอ็อบเจ็กต์ที่แพ็กไว้เฉพาะที่ยังไม่ได้แพ็ก
--ทั้งหมด
นี่หมายความว่า --revs นอกเหนือจากรายการอาร์กิวเมนต์การแก้ไขที่อ่านจาก
อินพุตมาตรฐาน แสร้งทำเป็นว่าผู้อ้างอิงทั้งหมดภายใต้ refs/ ถูกระบุให้รวมอยู่ด้วย
--include-แท็ก
รวมแท็กที่มีคำอธิบายประกอบที่ยังไม่ได้ขอหากวัตถุที่อ้างอิงรวมอยู่ใน
packfile ที่เป็นผลลัพธ์ สิ่งนี้มีประโยชน์ในการส่งแท็กใหม่ไปยังไคลเอนต์ Git ดั้งเดิม
--หน้าต่าง= , --ความลึก=
สองตัวเลือกนี้ส่งผลต่อวิธีการจัดเก็บอ็อบเจ็กต์ที่อยู่ในแพ็กโดยใช้ delta
การบีบอัด อันดับแรก ออบเจ็กต์จะถูกจัดเรียงภายในตามประเภท ขนาด และตัวเลือก
ชื่อและเปรียบเทียบกับวัตถุอื่นภายใน --window เพื่อดูว่าใช้ delta . หรือไม่
การบีบอัดช่วยประหยัดพื้นที่ -- ความลึก จำกัด ความลึกของเดลต้าสูงสุด ทำให้มันลึกเกินไป
ส่งผลกระทบต่อประสิทธิภาพในด้านตัวคลายไฟล์ เนื่องจากต้องใช้ข้อมูลเดลต้า
หลายต่อหลายครั้งเพื่อไปถึงสิ่งของที่จำเป็น ค่าเริ่มต้นสำหรับ --window คือ 10
และ -- ความลึกคือ 50
--window-memory=
ตัวเลือกนี้มีขีดจำกัดเพิ่มเติมที่ --window; ขนาดหน้าต่างจะ
ลดขนาดแบบไดนามิกเพื่อไม่ให้กินเกิน ไบต์ในหน่วยความจำ นี่คือ
มีประโยชน์ในที่เก็บที่มีวัตถุขนาดใหญ่และขนาดเล็กผสมกันเพื่อไม่ให้หน่วยความจำหมด
มีหน้าต่างบานใหญ่แต่ยังสามารถใช้ประโยชน์จากหน้าต่างบานใหญ่สำหรับ
วัตถุขนาดเล็ก ขนาดสามารถต่อท้ายด้วย "k", "m" หรือ "g" --window-memory=0
ทำให้การใช้หน่วยความจำไม่จำกัด ซึ่งเป็นค่าเริ่มต้น
--max-pack-size=
ขนาดสูงสุดของแต่ละไฟล์เอาต์พุตแพ็ค ขนาดสามารถต่อท้ายด้วย "k", "m" หรือ "g"
ขนาดขั้นต่ำที่อนุญาตคือ 1 MiB หากระบุไว้ ไฟล์แพ็คหลายไฟล์อาจเป็น
สร้าง. ค่าดีฟอลต์ไม่จำกัด เว้นแต่ตัวแปร config pack.packSizeLimit is
ตั้ง
--honor-pack-Keep
แฟล็กนี้ทำให้อ็อบเจ็กต์อยู่ในแพ็กภายในเครื่องที่มีไฟล์ .keep เป็น
ถูกละเลย แม้ว่าจะถูกบรรจุเป็นอย่างอื่นก็ตาม
--ส่วนเพิ่ม
แฟล็กนี้ทำให้อ็อบเจ็กต์ที่อยู่ในแพ็กถูกละเว้นแม้ว่าจะมี
มิฉะนั้นจะถูกบรรจุ
--ท้องถิ่น
แฟล็กนี้ทำให้อ็อบเจ็กต์ที่ยืมมาจากที่เก็บอ็อบเจ็กต์สำรองเป็น
ถูกละเลยแม้ว่าจะถูกบรรจุเป็นอย่างอื่นก็ตาม
--ไม่ว่าง
สร้างไฟล์เก็บถาวรแบบแพ็กเท่านั้นหากมีอย่างน้อยหนึ่งอ็อบเจ็กต์
--ความคืบหน้า
สถานะความคืบหน้าจะถูกรายงานในสตรีมข้อผิดพลาดมาตรฐานโดยค่าเริ่มต้นเมื่อเป็น
แนบกับเทอร์มินัล เว้นแต่จะระบุ -q แฟล็กนี้บังคับสถานะความคืบหน้าแม้กระทั่ง
หากกระแสข้อผิดพลาดมาตรฐานไม่ได้ส่งตรงไปยังเทอร์มินัล
--all-ความคืบหน้า
เมื่อ --stdout ถูกระบุ รายงานความคืบหน้าจะแสดงขึ้นในระหว่างการนับอ็อบเจ็กต์
และเฟสการบีบอัดแต่ถูกยับยั้งระหว่างเฟสการเขียนข้อมูล เหตุผลก็คือใน
ในบางกรณีกระแสเอาต์พุตจะเชื่อมโยงโดยตรงกับคำสั่งอื่นที่อาจต้องการ
แสดงสถานะความคืบหน้าของตัวเองในขณะที่ประมวลผลข้อมูลแพ็คที่เข้ามา ธงนี้คือ
เช่น --progress ยกเว้นว่ามันบังคับรายงานความคืบหน้าสำหรับขั้นตอนการเขียนเช่นกัน
แม้ว่า --stdout จะใช้
--all-progress-โดยนัย
ใช้เพื่อบ่งบอกถึง --all-progress ทุกครั้งที่เปิดใช้งานการแสดงความคืบหน้า ไม่เหมือน
--all-progress แฟล็กนี้ไม่ได้บังคับให้แสดงความคืบหน้าใด ๆ ด้วยตัวเอง
-q
แฟล็กนี้ทำให้คำสั่งไม่รายงานความคืบหน้าในสตรีมข้อผิดพลาดมาตรฐาน
--no-reuse-เดลต้า
เมื่อสร้างไฟล์เก็บถาวรแบบแพ็กในที่เก็บที่มีแพ็กอยู่แล้ว คำสั่ง
นำเดลต้าที่มีอยู่มาใช้ซ้ำ ซึ่งบางครั้งส่งผลให้แพ็คที่ไม่เหมาะสมเล็กน้อย นี้
แฟล็กบอกคำสั่งว่าอย่าใช้เดลต้าที่มีอยู่ซ้ำ แต่ให้คำนวณตั้งแต่เริ่มต้น
--no-reuse-วัตถุ
แฟล็กนี้บอกคำสั่งว่าอย่าใช้ข้อมูลอ็อบเจ็กต์ที่มีอยู่ซ้ำเลย ซึ่งรวมถึง non
วัตถุ deltified บังคับให้บีบอัดทุกอย่างใหม่ นี่หมายถึง --no-reuse-delta
มีประโยชน์เฉพาะในกรณีที่คลุมเครือที่บังคับใช้การบีบอัดที่แตกต่างกัน
ระดับของข้อมูลที่บรรจุเป็นที่ต้องการ
--การบีบอัด=
ระบุระดับการบีบอัดสำหรับข้อมูลที่บีบอัดใหม่ในแพ็กที่สร้างขึ้น ถ้าไม่
ระบุ ระดับการบีบอัดแพ็คจะถูกกำหนดก่อนโดย pack.compression จากนั้นโดย
core.compression และค่าเริ่มต้นเป็น -1 ค่าเริ่มต้นของ zlib หากไม่ได้ตั้งค่าไว้ เพิ่ม
--no-reuse-object หากคุณต้องการบังคับระดับการบีบอัดที่สม่ำเสมอสำหรับข้อมูลทั้งหมด no
เรื่องแหล่งที่มา
--ผอม
สร้างแพ็ก "แบบบาง" โดยละเว้นอ็อบเจ็กต์ทั่วไประหว่างผู้ส่งและผู้รับใน
เพื่อลดการถ่ายโอนเครือข่าย ตัวเลือกนี้เหมาะสมเมื่อใช้ร่วมกับ
--stdout.
หมายเหตุ: แพ็คแบบบางละเมิดรูปแบบไฟล์เก็บถาวรแบบแพ็กโดยละเว้นอ็อบเจ็กต์ที่จำเป็นและ
จึงไม่สามารถใช้งานได้โดย Git โดยไม่ทำให้มันอยู่ในตัวเอง ใช้ git index-pack
--fix-thin (ดู git-ดัชนีแพ็ค(1)) เพื่อเรียกคืนทรัพย์สินที่มีอยู่ในตัวเอง
--ตื้น
เพิ่มประสิทธิภาพแพ็คที่จะมอบให้กับลูกค้าด้วยพื้นที่เก็บข้อมูลตื้น นี้
ตัวเลือกเมื่อรวมกับ --thin อาจส่งผลให้แพ็คมีขนาดเล็กลงด้วยต้นทุนของความเร็ว
--delta-ฐานชดเชย
ไฟล์เก็บถาวรแบบแพ็กสามารถแสดงอ็อบเจ็กต์ฐานของเดลต้าเป็นอ็อบเจ็กต์ขนาด 20 ไบต์
ชื่อหรือออฟเซ็ตในสตรีม แต่ Git รุ่นเก่าไม่เข้าใจ
หลัง โดยค่าเริ่มต้น, คอมไพล์ แพ็ควัตถุ ใช้เฉพาะรูปแบบเดิมให้ดีขึ้น
ความเข้ากันได้ ตัวเลือกนี้อนุญาตให้คำสั่งใช้รูปแบบหลังสำหรับ
ความกะทัดรัด ขึ้นอยู่กับความยาวของโซ่เดลต้าโดยเฉลี่ย ตัวเลือกนี้โดยทั่วไป
ลดขนาด packfile ที่เป็นผลลัพธ์ลง 3-5 เปอร์เซ็นต์
หมายเหตุ: คำสั่ง Porcelain เช่น git gc (ดู git-gc(1)), git repack (ดู คอมไพล์-
หีบห่ออีกครั้ง(1)) ส่งตัวเลือกนี้โดยค่าเริ่มต้นใน Git สมัยใหม่เมื่อพวกเขาใส่วัตถุใน your
ที่เก็บข้อมูลลงในไฟล์แพ็ค git บันเดิลก็เช่นกัน (ดู git-บันเดิล(1)) เมื่อสร้าง a
กำ
--กระทู้=
ระบุจำนวนเธรดที่จะวางไข่เมื่อค้นหาการจับคู่เดลต้าที่ดีที่สุด นี้
ต้องการให้รวบรวมวัตถุแพ็คด้วย pthreads มิฉะนั้นตัวเลือกนี้จะถูกละเว้น
พร้อมคำเตือน มีขึ้นเพื่อลดเวลาในการบรรจุในเครื่องมัลติโปรเซสเซอร์ NS
จำนวนหน่วยความจำที่ต้องการสำหรับหน้าต่างค้นหาเดลต้านั้นคูณด้วย
จำนวนเธรด การระบุ 0 จะทำให้ Git ตรวจจับจำนวน CPU และ . โดยอัตโนมัติ
กำหนดจำนวนเธรดตามลำดับ
--index-version= [, ]
นี้มีวัตถุประสงค์เพื่อใช้โดยชุดทดสอบเท่านั้น อนุญาตให้บังคับเวอร์ชันสำหรับ
ดัชนีแพ็คที่สร้างขึ้น และเพื่อบังคับรายการดัชนี 64 บิตบนวัตถุที่อยู่ด้านบน
ออฟเซ็ตที่กำหนด
--keep-true-พ่อแม่
ด้วยตัวเลือกนี้ ผู้ปกครองที่ซ่อนเร้นด้วยการต่อกิ่งจะถูกมัดไว้
ใช้ git-pack-objects ออนไลน์โดยใช้บริการ onworks.net