Khi tôi thử git add -p someNewFile.txt
trên một tệp mới (tệp chưa được đánh dấu), git sẽ chỉ xuất ra No changes.
và dừng lại. Tôi phải nói với git rằng tôi dự định theo dõi tệp mới trước.
git add -N someNewFile.txt
git add -p
Tuy nhiên, vì tệp chưa được theo dõi, nó sẽ hiển thị dưới dạng một tập tin khổng lồ không thể tách được (vì tất cả đều mới!). Vì vậy, sau đó tôi cần chỉnh sửa phần nhỏ thành các bit nhỏ hơn. Nếu bạn không quen với điều đó, hãy xem tài liệu tham khảo này để bắt đầu.
Cập nhật - Thông tin chỉnh sửa phần nhỏ
Tôi muốn cập nhật thông tin này trong trường hợp tài liệu tham khảo ở trên biến mất. Vì tệp mới chưa được theo dõi, nên git add -p
sẽ hiển thị mọi dòng trong tệp dưới dạng một dòng mới trong một đoạn. Sau đó, nó sẽ hỏi bạn muốn làm gì với phần mềm đó, đưa ra lời nhắc sau:
Stage this hunk [y,n,q,a,d,/,e,?]?
Giả sử rằng bạn không muốn cam kết toàn bộ tệp (và do đó, toàn bộ tệp; vì tôi không chắc tại sao bạn muốn sử dụng git add -p
trong trường hợp đó?), Bạn sẽ muốn chỉ định tùy chọne
để nói với git rằng bạn muốn chỉnh sửa một con ngựa.
Khi bạn nói với git rằng bạn muốn chỉnh sửa phần nhỏ, nó sẽ đưa bạn vào trình chỉnh sửa mà bạn lựa chọn để bạn có thể thực hiện các thay đổi của mình. Tất cả các dòng phải được bắt đầu bằng a +
và git có một số chú thích giải thích (bắt đầu bằng a #
) ở cuối tệp. Đơn giản chỉ cần xóa bất kỳ dòng nào bạn không muốn trong cam kết ban đầu của tệp. Sau đó, lưu và thoát khỏi trình chỉnh sửa.
Giải thích của Git về các tùy chọn hunk của git:
y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk or any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk or any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help
git add -N
làm được, nó chỉ thêm các tệp chưa được theo dõi đã chỉ định vào chỉ mục, nhưng không có nội dung.