답변:
로컬로 만든 커밋 을 무시하고 다시는 역사에 다시 넣지 않으려면 끌어 오기 방법을 묻지 않고 병합을 의미하므로 병합 할 필요가 없습니다. 당신이해야 할 일은 이것입니다 :
# fetch from the default remote, origin
git fetch
# reset your current branch (master) to origin's master
git reset --hard origin/master
개인적으로 현재 HEAD에서 백업 브랜치를 먼저 생성하는 것이 좋습니다. 이것이 나쁜 생각임을 깨달았을 때, 당신은 그것을 잊어 버리지 않았습니다.
반면에 커밋을 유지하고 원점과 병합 된 것처럼 보이게하고 병합으로 인해 버전을 원점에서만 유지하려면 ours
병합 전략을 사용할 수 있습니다 .
# 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
nvm이 가리키는 중복 링크의 응답을 사용할 수 있습니다.
또는 변경 사항을 사용하여 충돌을 해결할 수 있습니다 (그러나 일부 변경 사항은 원격 버전과 충돌하지 않는 경우 유지 될 수 있음).
git pull -s recursive -X theirs
X
옵션은입니다 병합 전략을 통해 전달되는 recursive
명령 불평 있도록 두 개의 머리를 병합하는 경우 "Could not find merge strategy 'theirs'. Available strategies are: octopus ours recursive resolve subtree."
- 그것은 부끄러운 때문에 X
(예를 들어, 설정에서 설정할 수 있습니다 git config pull.twohead theirs
)하지만 s
할 수 없습니다.