Git Add có công tắc dài dòng không


104

Tôi đang trong quá trình chuyển tất cả kho lưu trữ riêng tư của mình sang github. Một trong những quyết định mà tôi đã đưa ra là chỉ sử dụng bảng điều khiển vì nó có nghĩa là dấu chân dụng cụ nhỏ hơn nếu tôi cần thay đổi PC, v.v.

Tôi là một người dùng rất nhiều các ứng dụng console và là người mới sử dụng git. Tôi quyết định mua series Mastering Git của Tekpub vì nó chỉ cho bạn cách tích hợp git bash làm thanh công cụ.

Mọi thứ đều hoạt động tốt ngoại trừ lệnh add all là:

git add .

Có vẻ như nó đang hoạt động nhưng tôi không nhận được bất kỳ dấu hiệu nào về việc nó hoạt động hay không. Có một công tắc dài dòng (tôi nghĩ đó là những gì nó sẽ được gọi) cho biết những tệp nào đã được theo dõi sau khi lệnh được khởi chạy?

Tôi đang sử dụng Visual Studio 2010 với cài đặt chuẩn git (Không phải phần mở rộng Git)


(Vâng, đó là một câu hỏi cũ; tôi đã xem vì nó mới được chỉnh sửa.) git add --helpHiển thị tài liệu cho git addlệnh, bao gồm cả --verbosetùy chọn.
Keith Thompson

Một suy nghĩ mới cho một câu hỏi cũ - Tôi thích git add -Ahơn là git add .tôi đã không tìm kiếm sự khác biệt, nhưng nhận thấy rằng lệnh ưa thích của tôi có nhiều khả năng thêm TẤT CẢ các tệp đã thay đổi hoặc mới.
cptully

Câu trả lời:


133

Đối với một số lệnh git bạn có thể chỉ định --verbose,

git 'command' --verbose

hoặc là

git 'command' -v.

Đảm bảo công tắc nằm sau lệnh git thực. Nếu không - nó sẽ không hoạt động!

Cũng hữu ích:

git 'command' --dry-run 

5
git 1.7.9 (Cygwin) nói với tôi rằng --verbose là một lựa chọn vô danh
Roy Truelove

5
@RTruelove: bạn có thể đang sử dụng git --verbose addthay vìgit add --verbose
Bogdan D

29

Tôi đang gỡ lỗi sự cố với git và cần một số đầu ra rất dài dòng để tìm ra điều gì đang xảy ra. Tôi đã kết thúc việc thiết lập GIT_TRACEbiến môi trường:

export GIT_TRACE=1
git add *.txt

Đầu ra:

14:06:05.508517 git.c:415               trace: built-in: git add test.txt test2.txt
14:06:05.544890 git.c:415               trace: built-in: git config --get oh-my-zsh.hide-dirty

1
Chơi lô tô! Cảm ơn rất nhiều cho biến môi trường này!
Henry Rivera

3
Để làm cho mọi thứ dễ dàng hơn, bạn có thể đi như: GIT_TRACE=1 git add *.txttất cả trên cùng một dòng.
cristianoms

6

Chà, giống như (hầu hết) mọi chương trình console dành cho các hệ thống giống unix, git không cho bạn biết bất cứ điều gì nếu một lệnh thành công. Nó chỉ in ra một cái gì đó nếu có gì đó sai.

Tuy nhiên, nếu bạn muốn chắc chắn về những gì vừa xảy ra, chỉ cần nhập

git status

và xem những thay đổi nào sẽ được cam kết và những thay đổi nào không. Tôi khuyên bạn nên sử dụng điều này trước mỗi lần cam kết, chỉ để đảm bảo rằng bạn không quên bất cứ điều gì.

Vì bạn có vẻ chưa quen với git, đây là liên kết đến một cuốn sách trực tuyến miễn phí giới thiệu với bạn về git. Nó rất hữu ích, nó viết về những điều cơ bản cũng như các quy trình làm việc khác nhau nổi tiếng: http://git-scm.com/book


Từ câu trả lời khác, tôi thấy có một cách để khiến nó cho bạn biết điều gì đang xảy ra, nhưng tôi khuyên bạn nên sử dụng mà không cần tham số -v, hành vi mặc định thực tế hơn (và nhập nhanh hơn).
Riccardo T.

//, tôi chưa bao giờ nghe thấy điều đó trước đây, rằng các chương trình giao diện điều khiển cho các hệ thống giống UNIX không cho bạn biết bất cứ điều gì nếu một lệnh thành công. Bây giờ tôi đã nghe điều đó, tôi cho rằng điều đó lẽ ra phải rõ ràng đối với tôi.
Nathan Basanese

Điều đó đơn giản là không đúng! Git cho tôi biết rất nhiều điều nếu tôi sử dụng nó thường xuyên, ngay cả khi các lệnh thành công. Ví dụ: git commitcho tôi biết, có bao nhiêu dòng và tệp đã thay đổi, nếu tệp mới đã được tạo hoặc git pushthông báo cho tôi về tiến trình đẩy lên ngược dòng.
LukeLR

5

Bạn có thể sử dụng git add -iđể tải phiên bản tương tác git add, mặc dù đó không phải là thứ bạn đang theo đuổi. Điều đơn giản nhất để làm là, sau khi đã chỉnh sửa git add, sử dụnggit status để xem những gì được dàn dựng hay không.

Sử dụng git add .không thực sự được khuyến khích trừ khi đó là cam kết đầu tiên của bạn. Thông thường, tốt hơn là liệt kê rõ ràng các tệp bạn muốn theo giai đoạn, để bạn không bắt đầu theo dõi các tệp không mong muốn một cách vô tình (tệp tạm thời, v.v.).


1
Chỉ cần sử dụng .gitconfig để xác định ngoại lệ, không cần theo dõi thủ công.
Steve K
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.