push 된 tag를 지워야 할 때가 있는데...

다음과 같이 하면 된다.


repo forall –c git tag –d TAG_NAME

repo forall –c git push --tags


Posted by code cat


출처: http://stuff.mit.edu/afs/athena/astaff/project/opssrc/cups/autoconf-2.65/build-aux/git-version-gen


Git은 알다시피, hash 값을 기반으로 형상 관리를 한다.  따라서 svn처럼 revision number에 따른 가시적인 버전 차이점을 사람이 인식하기 힘들다.

tagging이라는 훌륭한 방법이 있지만, 각 tagging마다의 차이점라던가, 어느 tagging이 우선인지(직접 사람이 tagging에 적어주지 않으면 힘들다) 등에 대해서 알 방법이 명확하지 않다.

따라서 git에서도 개발 시에, 일종의 revision numbering이 필요 할 때가 있다.  

우선 간단하게 commit 카운트로 revision numbering을 하기로 했는데, 시간이 날 때 하기 코드를 참조해서 좀 더 포괄적인 numbering 관리 방법을 만들어야 겠다.


Posted by code cat

git이 쓰다가 꼬이면 에라씨! 하고

 

git reset --hard HEAD^

 

등을 날릴 때가 있는데, 실행하고 나서 앗차!! 할 때가 있다.

 

이럴 땐 침착하게 다음과 같이 커맨드를 날리자.

git reflog

 

무언가 history가 쫘악 뜬다. 여기서 내용을 보면 방금 날린 git reset에 대한 내용이 있다.

그럼 바로 그 전에 걸로 돌아가보자.

git reset HEAD@{1}

 

오! 된다. 이제 reset잘못했다가 절망하지 말자.

Posted by code cat

local git에 commit한 뒤, local source control에서만 지우고 싶을 때는(물론 remote 저장소로 업로드가 안되어 있어야겠지)


git rm --cached file_name


으로 지우면 된다.

Posted by code cat