Git เพิ่มไฟล์ที่แก้ไขทั้งหมด

Git Add All Modified Files



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

มาเริ่มโครงการใหม่กันเถอะ







$mkdirโครงการ

$ซีดีโครงการ

$git init
เริ่มต้นที่เก็บ Git ว่างใน /ผู้ใช้/zakh_eecs/_งาน/LearnGIT/git_add/โครงการ/.ไป/

$โยนออก 'โครงการใหม่' >ReadMe.txt

$git addReadMe.txt

$git คอมมิท -NS 'ความมุ่งมั่นครั้งแรก'
[ผู้เชี่ยวชาญ(root-commit)47b9af1]ความมุ่งมั่นเริ่มต้น
1 ไฟล์เปลี่ยน,1แทรก(+)
สร้างโหมด100644ReadMe.txt

ในโครงการนี้ เราได้เพิ่มไฟล์ ReadMe.txt เราใช้คำสั่ง git add เพื่อเพิ่ม ReadMe.txt คำสั่ง add ไม่ได้มีไว้สำหรับการเพิ่มไฟล์เท่านั้น นอกจากนี้ยังเพิ่มการแก้ไขไฟล์ใดๆ สำหรับบทช่วยสอนนี้ เราจะเพิ่มและลบไฟล์เพื่อให้ง่ายเท่านั้น แต่ให้คิดว่าคำสั่ง add เป็นการเพิ่มการเปลี่ยนแปลงไปยังพื้นที่จัดเตรียม จากนั้นคุณต้องใช้คำสั่ง commit เพื่อทำการเปลี่ยนแปลงอย่างเป็นทางการ



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



$git add.
$git add -ถึง

ลองดูว่าคำสั่งทั้งสองทำงานอย่างไร:





$ แตะ a.txt b.txt c.txt

$ git เพิ่ม

$ สถานะ git
บนต้นแบบสาขา
การเปลี่ยนแปลงที่จะดำเนินการ:
(ใช้ 'git reset HEAD ...' เพื่อ unstage)

ไฟล์ใหม่: a.txt
ไฟล์ใหม่: b.txt
ไฟล์ใหม่: c.txt

$ git commit -m 'เพิ่ม a.txt, b.txt, c.txt'
[มาสเตอร์ 9ca90fc] เพิ่ม a.txt, b.txt, c.txt
มีการเปลี่ยนแปลง 3 ไฟล์, แทรก 0 (+), 0 การลบ (-)
สร้างโหมด 100644 a.txt
สร้างโหมด 100644 b.txt
สร้างโหมด 100644 c.txt $สัมผัสx.txt y.txt z.txt

$git add -ถึง

$สถานะ git
บนต้นแบบสาขา
การเปลี่ยนแปลงที่จะดำเนินการ:
(ใช้'git รีเซ็ต HEAD ...'ลงเวที)

ไฟล์ใหม่: x.txt
ไฟล์ใหม่: y.txt
ไฟล์ใหม่: z.txt

$git คอมมิท -NS 'เพิ่ม x.txt, y.txt, z.txt'
[มาสเตอร์ 8af8c12]เพิ่ม x.txt, y.txt, z.txt
3ไฟล์เปลี่ยนไป0แทรก(+),0การลบ(-)
สร้างโหมด100644x.txt
สร้างโหมด100644y.txt
สร้างโหมด100644z.txt

ทั้งสองตัวเลือกดูเหมือนจะทำงานเหมือนกัน

ในการตรวจสอบเพิ่มเติม ให้สร้างสถานการณ์ที่เราเพิ่มบางอย่างที่ระดับรากของไดเร็กทอรีการทำงานแล้วเพิ่มไฟล์อื่นๆ ในโฟลเดอร์:



$สัมผัส 1.txt

$mkdirใหม่

$ซีดีใหม่

$สัมผัสm.txt n.txt o.txt

$git add.

$สถานะ git
บนต้นแบบสาขา
การเปลี่ยนแปลงที่จะดำเนินการ:
(ใช้'git รีเซ็ต HEAD ...'ลงเวที)

ไฟล์ใหม่: m.txt
ไฟล์ใหม่: n.txt
ไฟล์ใหม่: o.txt

ไฟล์ที่ไม่ได้ติดตาม:
(ใช้'git เพิ่ม ...'ที่จะรวมในสิ่งที่จะมุ่งมั่น)

../1.txt

ข้อสังเกต Git ไม่ได้เพิ่มไฟล์ 1.txt ในโฟลเดอร์ระดับที่สูงกว่า

หากเราสร้างโฟลเดอร์ชื่อซ้อนกับไฟล์ d.txt และใช้ git เพิ่ม อีกครั้งเราจะเห็นว่ามีการเพิ่ม o.txt แล้ว แต่ยังไม่ได้เพิ่ม 1.txt

$mkdirซ้อนกัน

$สัมผัสซ้อนกัน/d.txt

$git add.

$สถานะ git
บนต้นแบบสาขา
การเปลี่ยนแปลงที่จะดำเนินการ:
(ใช้'git รีเซ็ต HEAD ...'ลงเวที)

ไฟล์ใหม่: m.txt
ไฟล์ใหม่: n.txt
ไฟล์ใหม่: ซ้อนกัน/d.txt
ไฟล์ใหม่: o.txt

ไฟล์ที่ไม่ได้ติดตาม:
(ใช้'git เพิ่ม ...'ที่จะรวมในสิ่งที่จะมุ่งมั่น)

../1.txt

ตอนนี้ใช้คำสั่ง git add -A:

$git add -ถึง

$สถานะ git
บนต้นแบบสาขา
การเปลี่ยนแปลงที่จะดำเนินการ:
(ใช้'git รีเซ็ต HEAD ...'ลงเวที)

ไฟล์ใหม่: ../1.txt
ไฟล์ใหม่: m.txt
ไฟล์ใหม่: n.txt
ไฟล์ใหม่: ซ้อนกัน/d.txt
ไฟล์ใหม่: o.txt

ตอนนี้ 1.txt ในโฟลเดอร์ถูกเพิ่มไปยังพื้นที่การแสดงละครแล้ว
นี่คือลักษณะของโฟลเดอร์

โครงการ
|--1.txt
|--ReadMe.txt
|--a.txt
|--b.txt
|--c.txt
|--x.txt
|--y.txt
|--z.txt
`---ใหม่
|--m.txt
|--n.txt
|--o.txt
`--- ซ้อนกัน
|--d.txt

ดังนั้นเมื่อคุณใช้ git add . คำสั่งจะเพิ่มการเปลี่ยนแปลงทั้งหมดจากระดับนั้น แต่เมื่อคุณใช้ตัวเลือก git add -A มันจะค้นหาการแก้ไขทั่วทั้งโมดูลและเพิ่มเข้าไป

บทสรุป

คำสั่ง Git add เป็นวิธีที่มีประสิทธิภาพในการเพิ่มไฟล์ที่แก้ไข คุณสามารถใช้ลำดับชั้นของไดเร็กทอรีธรรมชาติของโค้ดเพื่อควบคุมสิ่งที่จะเพิ่มเข้ามา

ศึกษาเพิ่มเติม: