Tôi đang làm điều gì đó rất đơn giản sai. Tôi đang cố gắng chuẩn bị một tệp vá bình thường, vì vậy tôi có thể nộp đơn xin lại một số thay đổi:Tôi có thể nhận được đầu ra tương thích với bản vá từ git-diff không?
$ 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ư làm việc, nhưng tên tập tin là không đúng. Tôi nghĩ tôi chỉ thiếu một vài lựa 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ể bị lỗi ở đó, nhưng bạn sẽ thấy những gì tôi nhận được.
Chỉnh sửa Lỗi của tôi ở đây khi đặ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, 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 sai cách vì tôi đã sử dụng để sử dụng bản vá để giải quyết các loại sự cố này và git diff
giống như đó là điều tôi muốn tôi làm.
Charles Bailey's nhận xét có câu trả lời đúng. Đối với tôi, git-apply là điều đúng đắn để làm (git-stash trông nặng hơn cân nặng mà tôi cần và rebasing và bundle chắc chắn là ngoài cấp độ 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 nhận xét). 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ủ đề đề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 các trình tự sau:
$ git stash
$ git merge
$ git stash pop
Có lý do nào bạn đặc biệt muốn sử dụng 'vá' thay vì' git apply' không? –
Và thậm chí sau đó, bạn có thực sự cần bản vá thay vì một cái gì đó như 'git stash' hoặc các công cụ git khác không? –
Sau khi chỉnh sửa, tôi nghĩ rằng 'git stash' là giải pháp dễ nhất cho những gì bạn đang cố gắng làm, nhưng có rất nhiều cách tiếp cận hoạt động. –