Tôi đang làm một cái gì đó rất đơn giản sai. Tôi đang cố gắng chuẩn bị một tệp vá thông thường, vì vậy tôi có thể áp dụng lại một số thay đổi:
$ git diff > before
$ git diff something_here > save.patch
$ git checkout .
$ patch < save.patch
$ git diff > after
$ diff before after
$
Với something_here
trống nó gần như hoạt động, nhưng tên tệp không đúng. Tôi nghĩ rằng tôi chỉ thiếu một số tùy chọn.
Trong cuộc sống thực, tôi sẽ thực hiện hợp nhất sau khi thanh toán, vì vậy bản vá có thể thất bại ở đó, nhưng bạn thấy những gì tôi đang làm.
Chỉnh sửa
lỗi của tôi ở đây để đặt câu hỏi sai. Câu hỏi thực tế là, tôi muốn lưu các thay đổi của mình đi, thực hiện hợp nhất, sau đó áp dụng lại các thay đổi, nếu có thể? Tôi đã hỏi nó sai cách vì tôi đã quen sử dụng bản vá để giải quyết các loại vấn đề này và có git diff
vẻ như đó là những gì nó muốn tôi làm.
Nhận xét của Charles Bailey đã có câu trả lời đúng. Đối với tôi, git-application là điều nên làm (git-stash trông có trọng lượng nặng hơn tôi cần và nổi loạn và các gói chắc chắn vượt quá mức kỹ năng hiện tại của tôi.) Tôi sẽ chấp nhận câu trả lời mà Charles đưa ra (vì bạn không thể chấp nhận một bình luận). Cảm ơn tất cả những lời đề nghị.
Chỉnh sửa, 6 năm sau
Như bất kỳ ai quen thuộc với chủ đề này đều biết, tôi đã ước tính quá mức độ khó của git stash
. Khá nhiều mỗi ngày hoặc lâu hơn, tôi sẽ sử dụng trình tự sau:
$ git stash
$ git merge
$ git stash pop
git stash
hoặc các công cụ git khác?
git stash
là giải pháp dễ nhất cho những gì bạn đang cố gắng thực hiện, nhưng có rất nhiều cách tiếp cận hiệu quả.
git-svn
.
patch
hơn làgit apply
?