Cuộc nổi loạn đơn giản từ chủ nhân với phép thuật?


11

Tôi mới nâng cấp lên phiên bản Magit mới nhất đã sử dụng phiên bản cũ trong nhiều năm. Tất cả các cải tiến là tuyệt vời sau một chút tìm kiếm xung quanh và tìm ra sự khác biệt.

Bây giờ, tôi chỉ đang cố gắng thực hiện cuộc nổi loạn đơn giản nhất (không tương tác) magitvà tôi không thể tìm ra cách thực hiện. Ví dụ này là từ https://git-scm.com/docs/git-rebase .

git checkout topic
git rebase master
  1. Đánh r
  2. ?
  3. Chi nhánh chủ đề của tôi bị từ chối với những thay đổi mới nhất từ ​​chủ.

3
Chọn "nơi khác", (nhấn "e"), sau đó chọn "chính". Chỉ cần chắc chắn: bạn sẽ từ chối "chủ đề" chi nhánh của bạn trên chủ (không phải từ ). Trên phương tiện, Git sẽ tìm kiếm tổ tiên chung trẻ nhất của "chủ nhân" và "chủ đề", sau đó thực hiện các cam kết trong "chủ đề" để áp dụng cho họ những thay đổi trong "chính chủ". Cuối cùng, "chủ" sẽ không thay đổi, nhưng "chủ đề" sẽ kết hợp các thay đổi từ "chủ" (Tôi đang viết điều này với hy vọng ngăn ngừa lỗi, đó là nếu bạn nghĩ rằng việc nổi loạn từ chủ sẽ làm điều ngược lại).
wvxvw

2
Lưu ý rằng nếu bạn đặt ngược dòng cho chi nhánh của mình - bạn có thể nhập bvà sau đó ulặp đi lặp lại qua các tùy chọn đã biết ( origin/masterlà điển hình) - thì điều đó sẽ trở thành một tùy chọn mặc định để khởi động lại (thông qua r u).
phils


Cảm ơn các ý kiến. Điều đó đã làm rõ nó cho tôi. Tôi đã đọc qua trang Rebasing của Magit, nhưng nó không có ý nghĩa gì trước đây. Tôi nghĩ rằng từ 'lên' là vấn đề. Bây giờ tôi đang sử dụng 'r', sau đó 'e' để hợp nhất mới nhất từ ​​chủ nhưng biết cách thiết lập ngược dòng của tôi với 'b', 'u' cũng hữu ích.
Andrew Goodnough

@wvxvw bạn có thể vui lòng biến nhận xét đó thành một câu trả lời không?
tarsius

Câu trả lời:


16
  1. Nhấn r (rebase) trong bộ đệm trạng thái Magit. Điều này sẽ hiển thị một bộ đệm bật lên với nhiều tùy chọn hơn.
  2. Nhấn e (nơi khác) để bắt đầu nổi loạn trên một nhánh khác.
  3. Chọn nhánh để khởi động lại bằng cách trả lời lời nhắc (lưu ý: nhánh được chọn không được sửa đổi, nhánh hiện tại là) .
  4. Quá trình rebase sẽ bắt đầu và bây giờ bạn sẽ có nhiều tùy chọn hơn trong menu rebase: rtiếp tục (sau khi giải quyết xung đột) , ahủy bỏ (toàn bộ quá trình rebase sẽ được quay lại trước khi rebase)sbỏ qua (đôi khi Git bị nhầm lẫn , khi cam kết của bạn xuất hiện không giới thiệu bất kỳ thay đổi nào, điều này có thể xảy ra khi nhánh hiện tại của bạn và nhánh mục tiêu đều thêm cùng một sửa đổi) .
  5. Cam kết của bạn sẽ được áp dụng cho các cam kết trong nhánh mục tiêu. Nếu chúng không được áp dụng suôn sẻ, bạn sẽ được hiển thị tiến trình và các xung đột trong bộ đệm trạng thái Magit.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.