Khi bạn chạy git pulltrên masternhánh, nó thường kéo từ origin/master. Tôi đang ở một chi nhánh khác nhau gọi là newbranch, nhưng tôi cần phải chạy một lệnh mà không một git pulltừ origin/mastervào masternhưng tôi không thể chạy git checkoutđể thay đổi chi nhánh đã chọn cho đến sau khi kéo được hoàn tất. Có cách nào để làm việc này không?
Để cung cấp một số nền tảng, kho lưu trữ một trang web. Tôi đã thực hiện một số thay đổi newbranchvà triển khai chúng bằng cách chuyển trang web sang newbranch. Bây giờ những thay đổi đó đã được hợp nhất ngược dòng vào masterchi nhánh, tôi cũng đang cố gắng chuyển trang web trở lại masterchi nhánh. Tại thời điểm này, newbranchvà origin/mastergiống hệt nhau, nhưng masterbị tụt lại phía sau origin/mastervà cần được cập nhật. Vấn đề là, nếu tôi làm theo cách truyền thống:
$ git checkout master
# Uh oh, production website has now reverted back to old version in master
$ git pull
# Website is now up to date again
Tôi cần phải đạt được như trên ( git checkout master && git pull), nhưng không thay đổi thư mục làm việc sang sửa đổi trước đó trong quá trình.
git fetch; git merge origin/mastertừ bên trong newbranch. Không có lợi ích để nhân bản toàn bộ bản sao thứ hai của kho lưu trữ.
newbranchđó và không có gì ở đó!