Tôi muốn thay đổi một tập tin trong repo của tôi, sau đó buộc git để tin rằng tập tin là chưa hợp nhất và hiển thị trong git status
như vậy:Làm cách nào để buộc git nghĩ rằng một tệp chưa được nén?
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add <file>..." to mark resolution)
#
# both modified: lib/delayed/recipes.rb
#
Đó là toàn bộ câu hỏi của tôi. Hãy đọc tiếp để giải thích tại sao, vì tôi biết đó là điều đầu tiên sẽ được hỏi.
Mục đích ở đây là một sửa lỗi cho Piston mà ngày nay để lại xung đột hợp nhất trong chỉ mục nơi chúng quá dễ bị bỏ qua.
Cách piston update
làm việc với một repo Git là:
- Clone repo từ xa vào một git tạm repo mới
- Checkout tạm repo để cam kết cuối cùng chúng ta đã thấy (lưu trong .piston.yml)
- Thanh toán repo địa phương của chúng tôi (một chi nhánh mới) với cam kết cuối cùng nơi .piston.yml đã được cập nhật
- Sao chép file repo địa phương của chúng tôi vào repo tạm
- cam kết tất cả những thay đổi trong nhiệt độ repo (đây là những thay đổi địa phương của chúng tôi tính đến thời điểm cuối cùng chúng tôi cập nhật dự án vendored này)
- Run
git merge master
trong repo tạm thời để nhập các thay đổi địa phương của chúng tôi với những thay đổi repo từ xa - IGNORE xung đột nhập (!) và sao chép tất cả các tập tin từ repo tạm thời để repo địa phương của chúng tôi
- Cam kết các tập tin (trong chi nhánh tạm thời mới của chúng tôi) để repo địa phương của chúng tôi
- Thanh toán repo địa phương trở lại điểm xuất phát ban đầu của chúng tôi
- Merge tạm chi nhánh vào repo địa phương (thêm bất kỳ những thay đổi khác mà chúng tôi đã thực hiện)
Tôi hy vọng sẽ khắc phục sự cố này bằng cách cho phép tệp có xung đột hợp nhất được đưa vào nhánh tạm thời, nhưng cuối cùng (sau khi nó chạy git merge --squash
) Tôi muốn nói với git về các tệp có xung đột hợp nhất trong temp repo.
Xem "Cách tạo lại trạng thái hợp nhất có chọn lọc?" trên danh sách gửi thư Git: http://thread.gmane.org/gmane.comp.version-control.git/135059 –