Git: hiển thị thêm ngữ cảnh khi sử dụng git add -i hay git add -e?


99

Tôi cam kết có chọn lọc các phần của một tệp lớn và tôi muốn xem thêm ngữ cảnh xung quanh mỗi phần. Điều này có khả thi không?

Câu trả lời:


127

Câu trả lời ngắn gọn: không.

git diff-U<n>tùy chọn cho phép bạn tùy chỉnh số dòng hiển thị xung quanh một thay đổi. Ví dụ, git diff -U5 ...sẽ hiển thị 5 dòng ngữ cảnh. Theo như tôi có thể nói, không có tùy chọn như vậy có sẵn cho màn hình khác biệt trong chế độ tương tác.


7
-U<infinity>tùy chọn nào để hiển thị toàn bộ tệp không? (Hoặc là một số lượng lớn "đủ tốt"?)
titaniumdecoy

2
Tôi muốn đề cập rằng số trong git diff -U<n>được sử dụng ở cả hai bên của mỗi dòng đã thay đổi. Vì vậy, nếu bạn đã một dòng thay đổi, git diff -U5sẽ cho bạn thấy 11 dòng (giả sử một trong những dòng không phải là lúc bắt đầu của sự kết thúc của tập tin.)
ArtOfWarfare

4
Điều này git diffkhông dành cho git add --patchhoặcgit add --interactive
0xcaff

1
@titaniumdecoy, tôi đã đăng câu hỏi đó dưới dạng một câu hỏi riêng biệt stackoverflow.com/questions/28727424/…
Aleksandr Levchuk

3
Vẫn không có giải pháp?
Vitaly Zdanevich

2

Để xác nhận, điều này vẫn chưa thể thực hiện được vào năm 2019.

Một công cụ bên ngoài như jjlee/git-meld-indexcó thể giúp:

git-meld-indexchạy meld- hoặc bất kỳ difftool git khác ( kdiff3, diffuse, vv) - cho phép bạn thay đổi sân khấu tương tác với các chỉ số git (còn gọi là khu vực dàn git).

Điều này tương tự như chức năng của git add -p, và git add --interactive.

Trong một số trường hợp, meld dễ sử dụng / nhanh hơn git add -phoặc tính năng dàn dựng trong các công cụ như git gui.
Đó là bởi vì meld cho phép bạn, ví dụ, để:

  • xem thêm ngữ cảnh ,
  • xem khác biệt nội bộ
  • chỉnh sửa bằng tay và xem các cập nhật khác biệt 'trực tiếp' (cập nhật sau mỗi lần nhấn phím)
  • điều hướng đến một thay đổi mà không nói ' n' với mọi thay đổi bạn muốn bỏ qua
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.