[Git] package-lock.json, yarn.lock, package.json 충돌 해결하기
1. PR에서 충돌 확인
PR 페이지에서 충돌 지점을 확인하고, 로컬 환경으로 가져와 해결한다.
git pull origin <branch-name>
충돌은 일반적으로 이런 형식으로 표시된다.
<<<<<<< HEAD
{
"dependencies": {
"react": "^18.0.0",
"axios": "^0.26.0"
}
}
=======
{
"dependencies": {
"react": "^18.2.0",
"axios": "^0.27.0"
}
}
>>>>>>> feature-branch
2. package.json 충돌 해결
충돌 지점을 수동으로 수정한 뒤
HEAD
,=======
,>>>>>>>
를 제거하면 된다.
{
"dependencies": {
"react": "^18.2.0",
"axios": "^0.27.0"
}
}
3. package-lock.json / yarn.lock 해결
package.json
수정 후, 락 파일은 삭제한 뒤, npm 또는 yarn 명령어로 새롭게 생성하자.
- 락 파일은 수동으로 수정하지 않고 아래 명령어를 사용해야 한다.
- 락 파일은
package.json
에 명시된 의존성 정보에 기반하여 생성된다. - 충돌 해결 시, 락 파일의 내용이 손상되거나 일관성이 없어질 수 있으므로 삭제 후 재생성해야 하는것이다.
① package-lock.json
또는 yarn.lock
파일을 삭제한 후
# npm 사용 시
rm package-lock.json
npm install
# yarn 사용 시
rm yarn.lock
yarn install
② 새로 생성된 락 파일을 스테이징 후 커밋하자.
git add package.json package-lock.json # npm 사용 시
git add package.json yarn.lock # yarn 사용 시
git commit -m "[fix] - Resolve conflicts in package.json and lock file"
4. PR 업데이트
로컬에서 충돌을 해결한 내용을 원격 브랜치로 푸시하면 된다.
git push origin <branch-name>
마지막으로, GitHub에서 충돌이 해결된 것을 확인한 뒤 PR을 Merge하자.
댓글남기기