2012-03-06 18 views
59

Tôi đã thay đổi một số tệp trong kho lưu trữ git, nhưng chưa cam kết.git - khác với thay đổi hiện tại trước khi cam kết

Tôi có thể nhận danh sách các thay đổi bằng cách chỉ cần gọi git status. Nhưng làm cách nào để có được danh sách các dòng hoặc nội dung mà tôi đã thay đổi, ngoài tên tệp?

Tôi bước đầu nghĩ về việc sử dụng git diff, nhưng dường như chỉ hữu ích khi so sánh các thay đổi đã cam kết.

Thông thường tôi chỉ làm meld ., nhưng trong trường hợp này tôi được kết nối với máy chủ bên ngoài qua ssh.

Trả lời

83

git diff theo mặc định cho thấy sự khác biệt giữa của bạn thư mục làm việcindex (dàn khu vực cho cam kết tiếp theo).

Nếu bạn đã thêm (dàn dựng) các thay đổi đối với khu vực dàn, git diff --staged hiện công việc. Khu vực dàn dựng là dữ liệu mà từ đó cam kết tiếp theo sẽ được tạo thành bởi git commit.

P. S. Tốt đọc (IMO) cho người mới bắt đầu Git:

+0

Không dàn dựng chỉ áp dụng cho các tệp chưa được thêm? Nghĩ rằng bạn phải sử dụng cờ được lưu trong bộ nhớ cache. – pbond

+3

@peterbond 'man git-diff' nói' --staged là một từ đồng nghĩa của --cached' –

+0

Tôi hiểu, cảm ơn! – pbond

3

gì tôi sử dụng cho những trường hợp này là:

git diff HEAD * 

này sẽ hiển thị những thay đổi kể từ khi cam kết cuối cùng. Mặc dù bằng cách nào đó nó hoạt động nhanh hơn với

git diff . 
Các vấn đề liên quan