Tôi muốn sử dụng git rebase
để hợp nhất sạch một đối tượng địa lý trong nhánh chính (ít cam kết hoặc ít nhất ở đầu nhật ký thay đổi). Lưu ý rằng Tôi là người duy nhất làm việc trên kho lưu trữ.Làm thế nào để đẩy/kéo Git rebase
Sau khi đọc Git workflow and rebase vs merge questions, tôi thấy git rebase
sẽ là khá đẹp và giống như Micah Tôi muốn git push
thay đổi rebased đơn giản chỉ vì Tôi đang làm việc trên chúng từ nhiều nơi khác nhau (ví dụ: máy tính xách tay của tôi, nhà của tôi, PC khác ở đâu đó ...)
Vì vậy, đây là hai giải pháp (để hợp nhất xấu xí bi-directional):
- Sử dụng
git push -f
đẩy, và sau đó kéo trên máy tính khác, nhưng làm thế nào để sạch có được phiên bản mới nhất trên các máy khác? - Sử dụng hợp nhất để hợp nhất sự thay đổi tổng thể để các tính năng chi nhánh, git push/pull, và một khi trưởng thành, làm một rebase duy nhất (trong một hoặc nhiều cam sạch)
(2) sẽ là như dưới đây:
git co -b feature-a
... change files
git push origin feature-a
... moving to another PC
git pull origin feature-a
... change files
git merge master
... change files (not the "special rebase")
git rebase master
git co master
git merge feature-a
git branch -d feature-a
git push origin :feature-a
Bạn nghĩ giải pháp nào sẽ hoạt động? Tôi đã không thử một trong số họ cho đến nay (chủ yếu là do làm cho đăng nhập của tôi lộn xộn hơn).
Có vẻ như tùy chọn (2) trong đề xuất của tôi. – Wernight
"Hãy để thay đổi của bạn nấu ăn trong các nhánh." Tôi không hiểu nhận xét này. Anh ấy đã sử dụng các nhánh chủ đề cho những thay đổi mới.Trái tim của câu hỏi có vẻ là làm thế nào để kết hợp các nhánh từ xa và rebasing mà không làm phiền mọi người xung quanh bạn. –