cuốn sách gpt4 ai đã làm

java - Các vấn đề về thanh toán JGit và `git register`

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 03:56:17 34 4
mua khóa gpt4 Nike

tl;dr JGit thanh toán ném một ngoại lệ trong khi dòng lệnh kiểm tra git 工作正常

Tôi hiện đang cố gắng sử dụng JGit để kiểm tra một số bản sửa đổi từ kho lưu trữ Git trực tuyến, sử dụng Java (cho công việc). Những gì tôi đang làm hiện tại là (Tôi mới làm quen với Git và đến từ nền tảng SVN, vì vậy điều này có thể sai):

  • Sao chép kho lưu trữ vào một vị trí tạm thời trên ổ cứng của tôi
  • để tìm ra phiên bản nào tôi muốn, (tôi đã thử sử dụng hàm băm SHA-1 cùng với tên chi nhánh)
  • kiểm tra bản sửa đổi này
  • Từ đó, tôi sẽ sử dụng tệp thanh toán làm đầu vào cho các phần sau của chương trình.
  • kiểm tra các phiên bản khác nhau
  • Sử dụng các tệp này làm đầu vào cho phần khác của chương trình

Về cơ bản, tôi muốn có thể trao đổi nội dung trong thư mục tạm thời của mình với bất kỳ phiên bản nào. Thông qua giao diện dòng lệnh, tôi đã có thể sử dụng bậc thầy kiểm tra gitkiểm tra git dylanbranch(trong đó dylanbranch là bản sửa đổi được chọn tùy ý mà tôi đang sử dụng trên bản sao của riêng mình), nhưng mã Java của tôi khi cố gắng thực hiện điều tương tự đã không thành công:

Git git = Git.open(new File("checkout")); //checkout là thư mục có .git
git.checkout().setName("master").call(); // thành công
git.checkout().setName("dylanbranch").call();

Và in ngoại lệ ra bàn điều khiển:

Ngoại lệ trong chuỗi "chính" org.eclipse.jgit.api.errors.JGitInternalException: Thanh toán xung đột với các tệp: 
src/sizzle
kiểm tra/qunit
tại org.eclipse.jgit.api.CheckoutCommand.call(CheckoutCommand.java:211)
tại com.avi.scm.git.BranchCheckout.main(BranchCheckout.java:30)
Nguyên nhân là do: org.eclipse.jgit.errors.CheckoutConflictException: Thanh toán xung đột với các tệp:
src/sizzle
kiểm tra/qunit
tại org.eclipse.jgit.dircache.DirCacheCheckout.checkout(DirCacheCheckout.java:387)
tại org.eclipse.jgit.api.CheckoutCommand.call(CheckoutCommand.java:162)
... 1 nữa

我可以使用 trạng thái git Đã xác minh rằng các tệp được đề cập đã được đánh dấu là đã xóa và không có cam kết nào được thực hiện, nhưng tôi không chắc tại sao những thay đổi này lại xảy ra và chúng chuyển trở lại nhánh chính bất cứ khi nào tôi quay lại. Mặc dù vậy, tôi vẫn có thể thay đổi thành công cây làm việc bằng dòng lệnh Git.

所以我的问题是:Tại sao JGit không hoạt động với ứng dụng này nhưng git dòng lệnh thì có? Cảm ơn vì bất kỳ thông tin hữu ích nào khác - hãy hướng dẫn tôi :)

gia hạn Tôi đã kiểm tra kho lưu trữ jQuery và nhận thấy có nhiều vấn đề hơn với JGit: Khi tôi sử dụng nhánh "chính",trạng thái git hãy cho tôi biết tôi là ai #Trên chủ chi nhánh và khôngKhông có gì để gửi (thư mục làm việc sạch sẽ), nhưng sử dụng lệnh trạng thái của JGit tôi thấy kiểm tra/qunitsrc/sizzle 被标记为 Missing. Thiết lập lại của JGit dường như không làm gì cả.

câu trả lời hay nhất

Hai thư mục được đề cập trong dấu vết ngăn xếp là Mô-đun con Git (kiểm tra/qunitsrc/sizzle) Đây rất có thể là nguyên nhân của sự cố, vì JGit chưa có hỗ trợ mô-đun con đầy đủ.

Điều này có thể khác trong phiên bản 1.1 JGit được phát hành trong tháng này, dựa trên làm .

Bạn có thể đọc thêm về trạng thái hiện tại của hỗ trợ mô-đun con JGit tại đây đây .

Về vấn đề java - JGit Payment và `git Payment`, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/7447097/

34 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress