Làm cách nào tôi có thể cam kết một số thay đổi đối với một tệp, nhưng không phải là các thay đổi khác trong VSCode?


139

VSCode có tích hợp git tuyệt vời nhưng tôi không thể tìm ra cách để thực hiện một phần cam kết. Về cơ bản, tôi muốn có thể chọn các thay đổi cụ thể trong các tệp của mình và xử lý chúng mà không cần dàn dựng toàn bộ tệp. Chức năng này được hỗ trợ bởi git CLI, ứng dụng gốc Github và plugin của Atom.

Chủ yếu là đảm bảo rằng tôi không chỉ thiếu một cái gì đó trước khi mở một vé cho nó.

Câu trả lời:


212
  • Mở chế độ xem Kiểm soát nguồn, sau đó nhấp vào tệp đã thay đổi để mở so sánh.

  • Chọn các dòng bạn muốn giai đoạn.

  • Nhấp vào '...' sau đó Stage Selected Ranges.

nhập mô tả hình ảnh ở đây


45
Chỉ trong trường hợp người khác bị nhầm lẫn như tôi đã làm: ảnh chụp màn hình này đề cập đến ···ở góc trên bên phải của trình chỉnh sửa, không phải ···ở trên cùng của bảng git bên trái.
waldyrious

4
Nếu điều này trả về cho bạn một lỗi " Git: Giá trị bất hợp pháp choline ", điều này đã được báo cáo một vài lần trên GitHub, nhưng vẫn không được sửa. Trong trường hợp đó, chỉ cần chuyển đổi "Chế độ xem nội tuyến" và nó sẽ hoạt động. Nguồn
Marc.2377

2
Như được đề cập bởi @Dimitris, lệnh này cũng nằm trong Bảng lệnh, vì vậy bạn không cần phải ở chế độ xem Kiểm soát nguồn.
eatcrayons

2
Xin lưu ý, giai đoạn này là toàn bộ các dòng, nếu bạn muốn tạo các phần của một dòng, tôi đoán nó sẽ quay lại get add -ivà chỉnh sửa tương tác ...
Zarepheth

97

Tổng kết tất cả mọi thứ trong bài này với một gif.

  1. Đảm bảo bạn đang ở chế độ xem kiểm soát nguồn để sử dụng tính năng này
  2. Chọn phạm vi mã
  3. Mở ···ở góc trên bên phải của trình chỉnh sửa (không phải ···ở trên cùng của bảng git ở bên trái)
  4. Bạn cũng có thể nhấn COMMAND (⌘)+ K+ COMMAND (⌘)+ Sđể mở phím tắt và tìm kiếm range, sau đó đặt phím tắt cho hành động này.

Phạm vi VSCode Chọn Cam kết

Sự thanh bình! ✌️


khó chọn dòng đã xóa
duXing

45

Cập nhật: Tháng 10 năm 2017: Trong VSCode mới nhất kể từ tháng 10 năm 2017 (phiên bản 1.18), bạn thực sự có thể thực hiện các dòng cụ thể thực sự dễ dàng giống như bạn sẽ làm điều đó với git CLI git add -p. Bạn chỉ cần nhấp vào dòng đã chỉnh sửa từ bên cạnh, xem khác biệt và áp dụng nó hay không.

Xem các thay đổi đang chờ xử lý và thực hiện các cam kết một phần trong trình chỉnh sửa


5
Có hai điều còn thiếu mặc dù ... Bạn không thể tách những người đi săn và bạn không thể chỉnh sửa thủ công ... :(
Robert Koritnik

12

Tùy chọn này đã được chuyển sang bảng màu:

shift + lệnh + P và gõ "giai đoạn đã chọn"


dường như không hoạt động khi ở chế độ vim.
baxx

@baxx Tại sao bạn mong đợi điều đó?
tejasvi88

@ tejasvi88 tại sao không?
baxx
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.