programing

어떻게 Git 충돌을 yarn.lock에서 해결합니까?

oldcodes 2023. 8. 12. 10:39
반응형

어떻게 Git 충돌을 yarn.lock에서 해결합니까?

Yarn을 사용하는 프로젝트에서 여러 Git 브랜치가 종속성을 수정하면 yarn.lock 파일에 충돌이 발생할 가능성이 높습니다.yarn.lock 파일을 삭제하고 다시 생성하는 것은 좋은 생각이 아닙니다. 여러 패키지가 의도치 않게 업그레이드될 수 있기 때문입니다.이 파일에서 충돌을 신속하게 해결하는 가장 좋은 방법은 무엇입니까?

Yarn 1.0부터 이 시나리오에 대한 지원이 내장되어 있어 쉽습니다.

먼저 갈등을 해결합니다.package.json수동으로 다음을 실행합니다.

$ yarn install

yarn install v1.0.1
info Merge conflict detected in yarn.lock and successfully merged.
[1/4] Resolving packages...

그러면 갈등이 해결될 것이고, 당신은 그것을 저지를 수도 있고, 만약 그것이 당신이 하고 있던 일이라면 다시 기초를 세울 수도 있습니다.

이 문제에 대한 github 토론에서 좋은 접근법이 자세히 설명되어 있습니다.

git rebase origin/master

첫 번째 충돌이 발생했을 때, 나는 확인합니다.yarn.lock그런 다음 설치를 다시 수행합니다.

git checkout origin/master -- yarn.lock 
yarn install

이는 새 항목을 생성합니다.yarn.lockyarn.lock의 origin/master 버전을 기반으로 하지만 변경 사항을 포함하여package.json그렇다면 문제는 다음과 같습니다.

git add yarn.lock
git rebase --continue

'yarn 설치'가 도움이 되지 않는 경우

1) git checkout <target branch>
2) git pull
3) git checkout <our branch with conflict>
4) git merge <target branch> (you will see merge conflict on yarn.lock)
5) rm yarn.lock
6) yarn
7) git add yarn.lock
8) git commit -m
9) git push

이 파일이 너무 길어서 터미널이 없는 vscode에서 충돌을 확인해야 한다면 다음과 같은 용어를 이 파일에서 검색해 볼 수 있습니다.>>>>>>>,=======,<<<<<<<또는HEAD

언급URL : https://stackoverflow.com/questions/42939113/how-do-you-resolve-git-conflicts-in-yarn-lock

반응형