ขณะที่บางคนได้กล่าวถึงวิธีการที่เป็นไปได้คือการใช้การแสดงละครโต้ตอบคอมไพล์ วิธีนี้ดีมากเมื่อคุณมีไฟล์ที่มีนามสกุลต่างกัน
$ git add -i
staged unstaged path
1: unchanged +0/-1 TODO
2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now>
หากคุณกด2
แล้วenter
คุณจะได้รับรายชื่อของไฟล์ที่มีอยู่เพื่อที่จะเพิ่ม:
What now> 2
staged unstaged path
1: unchanged +0/-1 TODO
2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
Update>>
ตอนนี้คุณต้องแทรกจำนวนไฟล์ที่คุณต้องการเพิ่มดังนั้นหากเราต้องการเพิ่มTODO
และindex.html
เราจะพิมพ์1,2
Update>> 1,2
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
Update>>
คุณจะเห็นไฟล์ *
ก่อนหมายเลข? นั่นหมายความว่ามีการเพิ่มไฟล์
ตอนนี้ลองนึกดูว่าคุณมี 7 ไฟล์และคุณต้องการเพิ่มทั้งหมดยกเว้นไฟล์ที่ 7? แน่นอนว่าเราสามารถพิมพ์ได้1,2,3,4,5,6
แต่ลองนึกภาพแทนที่จะเป็น 7 เรามี 16 ซึ่งจะค่อนข้างยุ่งยากสิ่งที่ดีที่เราไม่จำเป็นต้องพิมพ์ทั้งหมดเพราะเราสามารถใช้ช่วงโดยพิมพ์1-6
Update>> 1-6
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
* 4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
7: unchanged +5/-1 file7.html
Update>>
เราสามารถใช้หลายช่วงได้ดังนั้นหากเราต้องการตั้งแต่ 1 ถึง 3 และจาก 5 ถึง 7 เราพิมพ์1-3, 5-7
:
Update>> 1-3, 5-7
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
* 7: unchanged +5/-1 file7.html
Update>>
นอกจากนี้เรายังสามารถใช้สิ่งนี้เพื่อคลายสเตจไฟล์ได้หากเราพิมพ์-number
ดังนั้นหากเราต้องการยกเลิกสเตจไฟล์หมายเลข 1 เราจะพิมพ์-1
:
Update>> -1
staged unstaged path
1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
* 7: unchanged +5/-1 file7.html
Update>>
และอย่างที่คุณสามารถจินตนาการได้ว่าเราสามารถยกเลิกการจัดเตรียมไฟล์ต่างๆได้เช่นกันดังนั้นหากเราพิมพ์-range
ไฟล์ทั้งหมดในช่วงนั้นจะไม่มีการจัดเตรียม หากเราต้องการคลายสเตจไฟล์ทั้งหมดจาก 5 ถึง 7 เราจะพิมพ์-5-7
:
Update>> -5-7
staged unstaged path
1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
5: unchanged +5/-1 file5.html
6: unchanged +5/-1 file6.html
7: unchanged +5/-1 file7.html
Update>>
git commit -a
เปิดตัวแก้ไขเพื่อให้คุณพิมพ์ข้อความคอมมิต ป้อนข้อความที่คุณต้องการให้เห็นเป็นบันทึกและออกจากโปรแกรมแก้ไข การดำเนินการนี้เสร็จสมบูรณ์ ทำตามนั้นโดยการพุชการเปลี่ยนแปลงของคุณไปยังที่เก็บระยะไกลโดยใช้git push <remote name> <branch name>
เช่นgit push remote master