Nếu bạn thực sự muốn loại bỏ các cam kết bạn đã thực hiện tại địa phương, tức là không bao giờ có lại chúng trong lịch sử, bạn sẽ không hỏi cách kéo - kéo có nghĩa là hợp nhất và bạn không cần phải hợp nhất. Tất cả bạn cần làm là đây:
# fetch from the default remote, origin
git fetch
# reset your current branch (master) to origin's master
git reset --hard origin/master
Cá nhân tôi khuyên bạn nên tạo một nhánh sao lưu tại ĐẦU hiện tại của bạn trước để nếu bạn nhận ra đây là một ý tưởng tồi, bạn đã không mất dấu vết của nó.
Mặt khác, nếu bạn muốn giữ các cam kết đó và làm cho nó trông giống như bạn đã hợp nhất với nguồn gốc và khiến việc hợp nhất chỉ giữ các phiên bản từ gốc, bạn có thể sử dụng ours
chiến lược hợp nhất:
# fetch from the default remote, origin
git fetch
# create a branch at your current master
git branch old-master
# reset to origin's master
git reset --hard origin/master
# merge your old master, keeping "our" (origin/master's) content
git merge -s ours old-master