2011-02-11 28 views
11

Tôi chạy "git merge" từ Terminal trên Mac OS X để sáp nhập một chi nhánh thành bậc thầy của tôi và nhận ra rằng hình như:Git Merge: Điểm cộng có ý nghĩa gì?

spec/models/user_spec.rb 57 ++++++++++++++++++++ 

Gì "57 ++++++++++ ++++++++++ "có nghĩa là gì? Có bao nhiêu lần tôi chèn/sửa đổi tập tin đó không? Tất cả các kẽ để làm gì?

Trả lời

11

57 dòng đã thay đổi. Điểm cộng là chỉ dẫn đồ họa về số lượng các dòng thay đổi, giống như biểu đồ thanh. Chúng có ý nghĩa hơn khi bạn đã thay đổi một số tệp, vì chúng cung cấp một cách nhanh chóng để xem số lượng dòng tương đối đã thay đổi cho mỗi tệp.

Tôi nhận thấy rằng nếu bạn chỉ thực hiện một vài thay đổi, mỗi dấu cộng tương ứng với một dòng. Khi bạn thực hiện nhiều hơn, nó vảy chúng trở lại.

Nó cũng hiển thị các minuses để xóa dòng.

Nếu bạn thực hiện 28 (57/2) thay đổi dòng trong tệp khác, bạn sẽ thấy một chuỗi dấu cộng một nửa dài bên cạnh nó.

+0

Để chính xác, đây là những thay đổi theo từng dòng, do đó, đó là 57 dòng bổ sung. – Cascabel

+0

Bạn nói đúng. Cảm ơn bạn đã làm rõ. Những thay đổi đã làm. –

0

Về cơ bản, có - có 57 thay đổi đối với tệp đó và tất cả đều là bổ sung.

1

Như tôi đã trả lời here:

Nó phải phản ánh số lượng thay đổi (trong dòng) của mỗi tập tin được liệt kê.
Dấu hiệu bổ sung cho cộng, trừ để xóa.

Các cho lượng đường thay đổi, và -/+ mang đến cho bạn tỷ lệ xóa/bổ sung.
Khi số lượng thay đổi có thể phù hợp với một dòng, bạn sẽ nhận được '+' mỗi lần bổ sung, '-' mỗi lần xóa;
Nếu không, đây là một phép tính xấp xỉ, ví dụ:

CHANGES.txt  | 47 +++++++++++++++++++++++++++++++++ 
make-release.py | 77 +++++++++++++++++++++++++++++++++++++++---------------- 
2 files changed, 102 insertions(+), 22 deletions(-) 

On CHANGES.txt vì bạn có thể thấy rằng không có '-', và kể từ 47 '+' được rất nhiều bạn có một lượng tương ứng của họ (nghĩa là 100%).
On make-release.py bạn sẽ thấy x39 '+' đứng cho 55 bổ sung và x16 '-' đứng cho 22 xóa.
Chính xác như tỷ lệ của chúng và chỉ số tiền phù hợp với màn hình đầu ra.

Số lượng ký hiệu trên mỗi dòng là một dải GCD phù hợp với chiều rộng của đường.

Hy vọng điều đó sẽ hữu ích.

0

Bổ sung cho các câu trả lời khác: đây là cú pháp diffstat, không chỉ là một điều Git. Git hiển thị diffstat sau khi hợp nhất, hoặc khi bạn yêu cầu nó như git diff --stat, nó tạo ra cùng một đầu ra như git diff | diffstat.