Tôi thích sử dụng git add --patch (và gần đây hơn, git add -i) để gỡ rối các cam kết của tôi cũng như xác minh rằng những gì tôi cam kết là .Loại bỏ Hunk Tương tác với git add --patch
Thỉnh thoảng, tôi sẽ gặp một lỗi có thể là một câu lệnh ghi lỗi, một dòng mới bổ sung (thường là xoá dấu nhắc khai báo nói trên) - thứ mà tôi thực sự muốn xóa hoàn toàn.
Tôi không muốn lên sân khấu và tôi cũng chỉ muốn xóa nội dung được đề cập trong khi nó ở ngay trước mặt tôi (thay vì nhảy trở lại trình chỉnh sửa của tôi và thử lại). Tôi cũng muốn áp dụng thay đổi đối với tệp làm việc của mình.
Có cách nào để thực hiện việc này không?
Điều tôi đã xem xét là sử dụng chức năng chỉnh sửa đoạn.
Điều này, cùng với đề xuất hash
được tạo bên dưới mang lại cho tôi luồng công việc đẹp hơn một chút so với hiện tại.
Tôi đồng ý rằng đó là sự vi phạm các mối quan ngại về tách rời của git add
. OTOH nó sẽ rất thuận tiện; P Tôi nghe giống như sếp của tôi;)
Hiện nay, câu trả lời là "không". Nó sẽ là chức năng tốt đẹp để có thể sử dụng add -i và liệt kê hunks, mặc dù. ví dụ, thay vì có/không cho mỗi hunk, bạn có thể tạo ra một chuỗi các bản vá lỗi, và sau đó cam kết sẽ nhắc nhở cho nhiều thông điệp tường trình. hoặc nếu bạn có một lựa chọn như 'giai đoạn/không có giai đoạn/stash' mỗi hunk, thay vì 'giai đoạn/không giai đoạn' hoặc 'stash/không stash' (thông qua stash -p) –
Vâng, tôi nghĩ chung 'git add' không có ý định là một cách để chỉnh sửa các tệp cây công việc, mặc dù bạn đã đúng, nó sẽ rất tốt để có thể xử lý nó trong khi bạn đang ở đó. – Cascabel
Điều tôi luôn nghĩ là sẽ rất tuyệt khi có 1-9 tùy chọn trong 'add -i'. Chọn '1' sẽ thêm phần tử vào cam kết đầu tiên, v.v. Điều đó sẽ hỗ trợ quy trình làm việc theo đó bạn có thể đặt tất cả các thay đổi nhận xét đó trong '1', đó là tính năng fizzbuzz trong' 2', vv và các khối bạn không muốn trong '9'. Tất cả trong một lần. Sau đó, chỉ cần loại bỏ cam kết cuối cùng. Bạn sẽ phải tìm ra cách để có được thông điệp cam kết trong đó, nhưng nó chắc chắn sẽ hữu ích. –