Thanh toán git Eclipse (aka, hoàn nguyên)


139

Có thể thực hiện tương đương git checkouttừ bên trong Eclipse bằng cách sử dụng plugin EGit không?

Tôi có một tập tin đã được sửa đổi. Tôi muốn loại bỏ các thay đổi và hoàn nguyên tệp trở lại những gì trong kho lưu trữ nguồn. Trong Subversion, điều này được gọi là hoàn nguyên. Trong git tương đương là thanh toán.

Tôi không thể tìm thấy bất kỳ mục trình đơn nào trong Nhóm trông giống như thanh toán hoặc hoàn nguyên. Tôi đang sử dụng EGit 0.6.0.


6
git hút! Nó sẽ không cho bạn thấy những gì bạn sắp hoàn nguyên trước khi bạn hoàn nguyên nó. Subversion sẽ cung cấp cho bạn một cửa sổ xác nhận đẹp với danh sách các tệp bạn sắp hoàn nguyên. Vì vậy, bạn có thể chọn những gì bạn muốn hoàn nguyên hoặc hủy bỏ tại chỗ. Xấu hổ về git siêu mạnh.
JohnPristine

5
@JohnPristine Plugin git Eclipse (egit) là plugin sẽ hiển thị một cửa sổ xác nhận, thay vì git chính nó.
Brad Cupit

Nhấp chuột phải vào tệp bạn muốn hoàn nguyên, sau đó chọn "Ghi đè". Và tôi đồng ý, Git hút.
DhafirNz

Trong năm 2016, eGit phiên bản 4.5.0 tôi không thấy 'Ghi đè'. Bây giờ có vẻ như là 'Thay thế bằng ...' 'Sửa đổi chính'
Ed Randall

Câu trả lời:


274

Điều này có thể được thực hiện thông qua menu ngữ cảnh "Thay thế bằng / Tệp trong chỉ mục Git" trên tệp trong chế độ xem gói.


5
Điều gì xảy ra nếu tệp không tồn tại trong không gian làm việc (chưa / còn nữa)?
zedoo

@enedoo Nếu tệp không tồn tại, hãy mở chế độ xem "Git Staging", nhấp chuột phải vào tệp đã bị xóa trong danh sách "Thay đổi chưa được chỉnh sửa" và chọn "Thay thế bằng sửa đổi CHÍNH"
Vlasta Dolejs

42

Bạn có thể đạt được điều này bằng cách thực hiện thiết lập lại (cứng). Trên menu ngữ cảnh của dự án, chọn Nhóm> Đặt lại thành ..., chọn "ĐẦU" và "Cứng" làm loại đặt lại.

Xin lưu ý rằng làm điều này bạn sẽ mất các thay đổi của TẤT CẢ các tệp. Để hoàn nguyên chỉ một tập tin xem câu trả lời này .


Tôi chỉ phát hiện ra một cách khó khăn là cam kết cũng thực hiện điều tương tự - cam kết TẤT CẢ các tệp thay vì chỉ các tệp đã chọn.
Steve Kuo

Đúng, nhưng ít nhất bạn có thể bỏ chọn các tệp trong hộp thoại cam kết ... Btw: Tôi đã gửi một lỗi cho lỗi thiết lập lại.eclipse.org/bugs/show_orms.cgi?id=295423
simon

5
Hỗ trợ Git trong Eclipse thực sự thua kém CVS và SVN vì điều này! Chức năng "Thay thế bằng mới nhất từ ​​ĐẦU" của CVS thực sự quan trọng đối với tôi.
bất kỳ

@kosoant Eclipse cũng có thể làm điều đó với Git. Xem câu trả lời này
Brad Cupit

3
Anh ta hỏi rõ ràng về việc hoàn nguyên một tập tin, không phải tất cả chúng.
Zofren

18

trong phiên bản Eclipse: 3.7.0

trong "Phối cảnh đồng bộ hóa nhóm" -> nhấp chuột phải vào tệp / thư mục trong chế độ xem đồng bộ hóa -> ghi đè


đây là một trong những cách dễ nhất để thực hiện Nó hiện một cửa sổ bật lên để xác nhận rằng bạn muốn ghi đè các thay đổi cục bộ của mình.
Karidrgn

Điều này đã xóa các tập tin mới, thay đổi chưa được chỉnh sửa, đó là những gì tôi cần.
Katu

12

Một khả năng khác là sử dụng chế độ xem Git Staging :

  • Mở chế độ xem Git Staging bằng cách nhấn Ctrl + 3 hoặc Command + 3 và nhập
    staging
  • Trong trường hợp khung nhìn chưa hiển thị kho lưu trữ của bạn, hãy nhấp vào dự án hoặc tệp
  • Bây giờ bạn sẽ thấy các tệp bạn đã sửa đổi trong phần Thay đổi chưa được chỉnh sửa
  • Nhấp đúp vào tập tin chưa được sắp xếp
  • Bây giờ bạn sẽ thấy chế độ xem so sánh với phiên bản của bạn ở bên trái và phiên bản trước khi thay đổi ở bên phải

Bây giờ, để hoàn tác chỉ một số thay đổi trong tệp, hãy làm như sau:

  • Trong chế độ xem so sánh, chọn một trong các dòng đã thay đổi của bạn
  • Chọn mục Sao chép thay đổi hiện tại từ phải sang trái thanh công cụ

Điều này sẽ làm cho bên trái tương ứng với bên phải cho sự thay đổi này. Lưu tập tin để hoàn thành việc hoàn tác.

Để hoàn tác tất cả các thay đổi của bạn:

  • Trong chế độ xem theo giai đoạn, nhấp chuột phải vào tệp chưa được sắp xếp
  • Chọn Thay thế bằng tệp trong Chỉ mục Git

Bạn cũng có thể chọn nhiều hơn một tệp chưa được sắp xếp và sau đó nhấp chuột phải.


Tôi tự hỏi tại sao câu trả lời này nhận được ít phiếu hơn. Tôi muốn đánh dấu điều này tốt nhất; sẽ không bao giờ có thể tìm ra chính mình. Cảm ơn @robinst
HarsH

11

Hoàn nguyên một tệp bằng cách vào Window> Show View> Other> Git Staging> Unstaged Change

Chọn (các) tệp bạn muốn hoàn nguyên. Nhấp chuột phải và chọn Thay thế bằng sửa đổi CHÍNH

Lưu ý rằng bước này không thể được hoàn tác.

(Tôi đang sử dụng Phiên bản Eclipse: 3.7.2 Egit phiên bản 2.3.1.201302201838-r)


7

Để hoàn nguyên , bạn có thể nhấp chuột phải vào tệp / thư mục mà bạn muốn, sau đó chọn Thay thế bằng -> phiên bản CHÍNH


Có áp dụng cho bất kỳ plugin Git nào trong Eclipse không? Nó hoạt động tốt với Egit.
johnnieb

CẬP NHẬT: Trong Eclipse Mars và Luna SR2 (dựng sẵn Git), nó hoạt động như thế này.
Mag

4

Mở đồng bộ hóa nhóm. Tìm tệp và nhấp chuột phải -> Ghi đè.

CẬP NHẬT

Trong Eclipse Luna (4.4.2) Đồng bộ hóa nhóm mở. Tìm tệp và nhấp chuột phải -> "Hoàn nguyên ..."


3

Các chức năng thực sự là trong đó, nhưng nó có thể không rõ ràng:

  • Đảm bảo quickdiff được kích hoạt với sửa đổi git và đường cơ sở quickdiff là CHÍNH (đây là mặc định).
  • Mở tệp bạn muốn hoàn nguyên.
  • Chọn mọi thứ (Ctrl-A)
  • Nhấp chuột phải vào thanh quickdiff
  • Chọn "Hoàn nguyên lựa chọn"
  • Tiết kiệm

btw, hoàn nguyên trong git lingo có nghĩa là tạo ra một cam kết mới để hoàn nguyên một cam kết trước đó.


Để làm việc với quickdiff ở đây là phần giới thiệu nhanh: wiki.eclipse.org/EGit/User_Guide/State#Quickdiff
Valentin Despa

1

Để hoàn nguyên toàn bộ tệp của bạn về dữ liệu của kho lưu trữ:

Nhấp vào thư mục bạn muốn thực hiện sửa đổi và sau đó đi đến GitStaging nhập mô tả hình ảnh ở đây

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.