라벨이 git인 게시물 표시

디버깅(debug)용 git 성능 trace 방법(?)

experience git stash가 오래걸리기에, 원인 찾아보고자 검색하던 중 알게된 내용.. ​ 아래와 같이 입려하면, 대략 performance 정보를 주는 듯.. ​ git_trace_performance=true git stash list ​ ​ 오래전에 이를 바탕으로 detecting을 했어서 적어두었었는데, 현재는 저 결과를 가지고 어떻게 처리했었는지... 기억이... 잘 안남.. ^^;;  @.@   ​

git 잘못 push된 tag 제거 방법

 experience git 사용중 누군가 잘못 push한 tag 발견.. 삭제하고 push를 해도 이용하다보면 계속해서 해당 태그가 살아남.. @.@   많이들 경험했을...ㅎㅎ ​  대략 정리하면, tag를 지우고 push해도 이전 remote에 올라가 있는 tag를 받은 사람이 그대로 tag까지 push해버리면 다시 생기게 됨.. ​  결국 해당 git remote를 참조하는 모든 유저의 tag에서 삭제하고 push해야함.. ​ ​  방법은 간단한 듯.   정상적인 tag로 remote를 만들어둔후, 문제의 유저들 로컬 태그 다 지우고, remote tag로 엎어치면 되는듯... ​ $ git tag -l | xargs git tag -d # remove all local tags $ git fetch -t # fetch remote tags ​ from : https://demisx.github.io/git/2014/11/02/git-prune-local-tags-dont-exist-remote.html

git merge conflict(머지 충돌) resolve(해결)한 사람찾는 법. 원래 커밋한 사람(A)이 아닌, B가 특정커밋 수정하여 push한 경우. B찾는 법

experience 가끔 있는 이슈이긴 하지만, 한동안 발생을 하지 않아 잊고 있었다가... 다시 merge(rebase)충돌 해결이 잘못되어 push된 경우, 이를 detecting하는 방법을 검색하게 됨...  ​ ​ 1. push hook을 걸어 특정 commit을 push한 사람이 누구인지 찾는 법... (hook걸기 귀찮아서... hook까지 만든 경험은 X) ​ 2. 간단히 아래와 같은 git show 명령으로 가능.. (pretty 옵션의 fuller를 하게되면 author 및 commiter까지 조회가능) * author: original comiiter * commiter: 추가 변경을 가한 commiter ​ git show <revision_number> --pretty=fuller ​ 3. intellij의 경우, 버전업이 되면서 해당 revision에 커서를 올리면 author와 함께 committed by ... 으로 변경을 가한 committer 조회 가능 ​ from: https://git-scm.com/docs/git-show

git에서 아무리 reset --hard를 해도 unstaged changes가 사라지지 않는 이슈... 해당 파일 삭제후 reset 또는 stash에 넣어도 사라지지 않는 현상

experience git 사용중, pull받고 난 이후에 특이한 unstaged change가 발생했는데, 이를 삭제할 수가 없는 현상.. @.@   이것 저것 찾아보니, eof가 다른 경우(?) 재현이 가능하다는 듯.... 실제 contents diff로 보더라도 contents는 바뀐게 없으나 몬가 다르다고만 나오는.. @.@  해결방법은 아래와 같음...  1) Remove every file from Git's index. git rm --cached -r . 2) Rewrite the Git index to pick up all the new line endings. git reset --hard from :  https://stackoverflow.com/questions/11383094/unstaged-changes-left-after-git-reset-hard