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ó chúng trong lịch sử một lần nữa, bạn không yêu cầu làm thế nào để 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ả những gì bạn cần làm là:
# 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 chi nhánh dự phòng tại HEAD hiện tại của bạn trước tiên, nếu bạn nhận ra đây là một ý tưởng tồi, bạn không mất dấu.
Nếu mặt khác, bạn muốn giữ lại những cam kết và làm cho nó trông như thể bạn sáp nhập với xuất xứ, và gây ra việc hợp nhất để giữ cho các phiên bản từ chỉ nguồn gốc, bạn có thể sử dụng chiến lược ours
merge:
# 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
trùng lặp? http://stackoverflow.com/questions/4779715/error-when-running-git-pull-origin-master/4779723#4779723 –
@nvm: Không. Đây là về xung đột hợp nhất thực sự, không phải các tệp không được theo dõi sẽ bị ghi đè. – Cascabel