마스터와 GIT 덮어 쓰기 지점 지점이 있습니다. 제거하고 싶지 않지만

완전히 오래된 구식 개발 지점이 있습니다. 제거하고 싶지 않지만 그 내용을 마스터 브랜치로 완전히 바꾸고 싶습니다. 의미, 나는 dev_branch = master를 원한다

나는 시도했다 :

git merge -s ours dev_branch

그래도 작동하지 않았습니다 …



답변

당신은 모든 변경하려는 경우 masterdev_branch다음을 :

git checkout dev_branch
git reset --hard master

다른 사람들이 저장소를 복제하지 않은 경우에만 작동합니다.

dev_branch이미 리모컨 을 누른 경우 다음 을 수행해야합니다.

git push --force

리모컨을 강제로 누릅니다. 경고 : 이렇게하면 이전에 복제 한 사람들의 분기 기록이 손상됩니다. 그런 다음, 다른 사람은해야 할 것 git pull --rebase상의를 dev_branch변경 내용을 얻을 수 있습니다.


dev 브랜치의 이름을 오래된 것으로 바꾸고 master같은 이름 으로 새 브랜치를 만들 수도 있습니다 .

git branch -m dev_branch old_dev_branch
git branch -m master dev_branch

또는 ours왜 전략이 효과가 없는지 확실하지 않은 전략을 사용 하십시오.

git checkout master
git merge -s ours dev_branch
git checkout dev_branch
git merge master