IT

Git 리모컨에서 가져올 때 원격 변경 사항을 사용하여 충돌 해결

lottoking 2020. 3. 28. 10:46
반응형

Git 리모컨에서 가져올 때 원격 변경 사항을 사용하여 충돌 해결


GitHub 리포지토리에서 서버로 코드를 가져 오려고하지만 병합 충돌로 인해 풀이 계속 실패합니다. 마지막 풀 이후 로컬 서버에서 발생한 변경 사항을 유지하고 싶지 않습니다.

그렇다면 Git이 GitHub에있는 버전으로 덮어 쓰도록 강제 할 수있는 방법이 있습니까?


로컬로 만든 커밋 을 정말로 버리고 싶습니다 . 즉, 다시 기록에 넣지 않은 경우 끌어 당기는 방법을 묻지 않고 병합을 의미하므로 병합 할 필요가 없습니다. 당신이해야 할 일은 이것입니다 :

# 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

참고 URL : https://stackoverflow.com/questions/4785107/resolve-conflicts-using-remote-changes-when-pulling-from-git-remote

반응형