git thêm. so với git cam kết -a


Câu trả lời:


139

git commit -acó nghĩa là gần như [*] giống như git add -u && git commit.

Nó không giống như git add .điều này sẽ thêm các tệp chưa được theo dõi không bị bỏ qua,git add -u theo dõi chỉ các giai đoạn thay đổi (bao gồm cả xóa) đối với các tệp đã được theo dõi.

[*] Có một sự khác biệt nhỏ nếu bạn không ở thư mục gốc của kho lưu trữ của mình. git add -ugiai đoạn cập nhật các tập tin trong thư mục hiện hành và dưới đây, nó tương đương với git add -u .trong khi git commit -agiai đoạn và cam kết thay đổi tất cả các file theo dõi.


3
Hành vi trong [*] sẽ thay đổi trong git 2.0, để nhất quán.
user1284631

2
Theo hướng nào? tức là sẽ commit -a giống như add -u, hay add -u sẽ giống như commit -a?
Miles Rout,

5
@MilesRout: git add -usẽ trở thành như thế nào git commit -a; bạn sẽ cần phải nói rõ ràng git add -u .nếu đó là ý của bạn.
CB Bailey

Điều này hoàn toàn giống nhau kể từ khi Git v 2.0 git add .hoạt động theo một cách khác.
Nick Volynkin

13

git commit -atự động gọi git addtrên tất cả các tệp mà nó biết. Bạn có thể sử dụng git addđể chọn những tệp để cam kết. Tham khảo tài liệu để biết thêm thông tin: tại đây


11
tất cả các file nó biết về là rất rõ ràng đối với tôi, đặc biệt là từ những người đã được cho là KHÔNG thêm
Nikana Reklawyks

1
@alternative, Still câu trả lời này có thể làm tốt hơn nếu bạn thêm một giải thích cho "tất cả các file nó biết về" .....
Pacerier

2
@Pacerier tương đương vớigit add -u
thay thế

2
@ Z.Khullah, vậy "all (...)" có nghĩa là "các tệp được theo dõi"?
TheFrost

1
@TheFrost chính xác!
Z. Khullah 14/02/18

1

Bằng cách sử dụng git commit -a switch với lệnh commit để tự động "thêm" các thay đổi từ tất cả các tệp đã biết (tức là tất cả các tệp đã được liệt kê trong chỉ mục)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.