Tôi gặp sự cố khi thực hiện lựa chọn anh đào. Trên máy cục bộ của tôi, tôi hiện đang ở nhánh "master" của tôi. Tôi muốn anh đào chọn trong một cam kết từ một chi nhánh khác, có tên là "ngựa vằn". Nhánh "ngựa vằn" là một nhánh từ xa.Làm thế nào để anh đào-pick từ một chi nhánh từ xa?
trạng thái để git:
# On branch master
nothing to commit (working directory clean)
ok, bây giờ tôi cố gắng cherry-chọn cam kết tôi muốn:
git cherry-pick xyz
fatal: bad object xyz
nơi "xyz" là chữ ký của người cam kết Tôi quan tâm trong, đã xảy ra trên nhánh "ngựa vằn".
Vì vậy, câu hỏi hiển nhiên đầu tiên là, tại sao tôi không thể tìm thấy cam kết mà tôi đang tham chiếu? Tôi không thực sự hiểu làm thế nào đây là làm việc ở nơi đầu tiên phải trung thực. Có git lưu trữ một cái gì đó giống như một cơ sở dữ liệu của cam kết cục bộ trong thư mục làm việc của tôi, cho tất cả các chi nhánh khác? Khi thực hiện lệnh cherry-pick, nó có đi và tìm kiếm cơ sở dữ liệu cục bộ đó để tìm ra commit mà tôi đang nói không?
Vì "ngựa vằn" là một nhánh từ xa, tôi đã nghĩ rằng tôi không có dữ liệu cục bộ của nó. Vì vậy, tôi đã chuyển các chi nhánh:
git checkout zebra
Switched to branch 'zebra'
vì vậy bây giờ ở đây trên máy cục bộ, tôi có thể thấy các tệp trong thư mục phản ánh đúng trạng thái của zerbra. Tôi quay trở lại làm chủ, cố gắng để anh đào chọn lại (hy vọng dữ liệu cam kết có sẵn ngay bây giờ), nhưng một số vấn đề.
Tôi có một sự hiểu lầm cơ bản về những gì đang xảy ra ở đây, bất kỳ trợ giúp nào cũng sẽ tuyệt vời.
khái niệm mọi thứ có vẻ đúng. bạn có chắc bạn đang sử dụng đúng băm (chữ ký như bạn gọi nó) của cam kết? thử 'git show' để xác minh. –
0xc0de
Xin chào, có tích cực - cả hai nhánh của tôi đều đang trên github và tôi có thể sử dụng chúng để tìm các trang cam kết theo cách đó. Nếu tôi hiểu, trạng thái của máy của tôi cục bộ là như vậy mà git không thể tìm thấy băm từ 'ngựa vằn' trong khi trong bối cảnh 'chủ'. Tôi có cần phải bằng cách nào đó nói với nó rằng 'ngựa vằn' tồn tại cục bộ, quá? – user291701
oh và làm 'git show xyz' cho cùng một lỗi "gây tử vong: đối tượng xấu". (và tôi đang thay thế xyz bằng hàm băm chính xác). – user291701