개발 이야기

How to fix (would clobber existing tag)

ANDYLION 2023. 7. 6. 15:43
728x90
반응형

Repo

하나의 큰 프로젝트를 진행할 때 repo라는 git을 관리할 수 있는 툴을 사용합니다. Repo는 많은 git repository를 관리하고 개발 워크플로의 일부를 자동화하는데 도움이 됩니다. Repo는 git을 대체하기 위한 툴이 아니라 git 작업을 더 쉽게 할 수 있도록 도움을 줍니다.

repo 명령어는 .repo가 존재하는 경로의 아무 곳에서나 실행이 가능한 파이썬 (python) 스크립트입니다.

repo에 대해 조금 더 많은 내용을 알고 싶다면 아래 링크를 참고하십시오.

Repo README.md

 

 

How to fix the would clobber existing tag issue

개발을 진행하는 과정 중에는 굉장히 많은 협업을 요구할 때가 많습니다. 그로 인해 git merge conflict, tag issue 등 다양한 이슈가 발생합니다.

기존에 받아 두었던 프로젝트를 매일 업데이트를 진행하는데 가끔 repo의 manifests/default.xml에 명시된 tag가 아닌 다른 tag로 변경되면서 이슈가 발생됩니다.

error message

Unpacking 
objects: 100% (32/32), done.
From github.com:test/test-app
   c8a2420..75ea515  develop         -> origin/develop
   b4069ce..9f672e1  feature/T-123 -> origin/feature/T-123
   8dbf387..ac9db9d  master          -> origin/master
 ! [rejected]        v1.1.0         -> v1.1.0  (would clobber existing tag)
 * [new tag]         v1.2.0         -> v1.2.0

이런 이슈가 발생되면 .repo를 삭제하고 새로 받게되면 이슈는 해결되지만 빌드된 항목들에 대해 신규 빌드를 진행하고 commit이 맞지 않아 모듈들의 폴더를 삭제하고 다시 받는 등 상당한 시간을 소요시킵니다.

그래서 쉽게 이슈를 해결하고 소요시간을 최소화 하기 위해 다음과 같은 방법을 사용하였습니다.

cd {PROJECT_ROOT}/test-app

# In general you can use git tag -l to show your local git tag, 
# then git tag -d <tag_name> to delete the error tag.

# In your particular case, you need to use git tag -d  v1.1.0 to solve your problem.
git tag -d v1.1.0

# repo update
repo sync

 

만약 해당 git을 삭제해서 git tag -d 를 사용할 수 없는 경우

repo forall -c 'git tag -d v1.1.0'

 

또 다른 방법은  remote에 설정된 tag를 삭제하는 방법도 있습니다.

하지만 이 방법은 담당자가 아닌 다른 사용자가 local뿐만 아니라

remote 저장소의 tag까지 삭제하는 것이기 때문에  협업에서는 좋지 않은 방법입니다.

# This was resolved by running the following command to delete the offending tag on the remote

git push --delete origin v1.1.0

 

 

728x90
반응형
SMALL

'개발 이야기' 카테고리의 다른 글

TRACE32  (0) 2023.07.13
Unable to stop service 'zygote_secondary'  (1) 2023.07.13
Android kernel gki skip option  (0) 2023.07.04
Validating SELinux  (0) 2023.02.23
libc : Unable to set property "@vendor property"  (0) 2023.02.23