본문 바로가기

Git42

Git - Remote Origin Already Exists 에러 해결하기 원격 저장소를 만들고 clone 을 받아서 로컬 저장소에서 셋업하고 → 원격 저장소로 푸시하려니 잘 되지 않았다. 브랜치 목록을 보니 원격저장소가 없어 그렇구나! 그럼 추가해줘야지 git remote add 명령어로 origin 이라는 이름의 원격저장소를 추가해 주려고 하였다. 깃에는 remotes 라고 불리는 원격저장소가 있다. 이 Remotes 는 내가 접근해서 CRUD 할수있는 권한을 가지고 있다. remotes 는 각각 이름을 가지고 있다. 같은 이름을 사용하면 안된다. 그래서 에러가 난 것이다. 1. git remote -v 로 existing remotes 가 있는지 확인해보기 → 음 같은 이름이 있어서 에러가 난거였구나 2. git remote remove 으로 원격 저장소 삭제하기 → 지워.. 2023. 8. 9.
Git(39) 로컬 브랜치 덮어쓰기 내가 작업하던 브랜치에서 다른 분이 작업한 브랜치를 덮어씌워서 업데이트 사항을 확인하다가 꼬여버렸다. 내가 작업하던 브랜치로 돌아가려고 git reset @HEAD{n} 으로 시간을 되돌리니 얘는 내가 한 커밋만 돌아가버려서 다른 브랜치에서 받아온 커밋들은 사라지지 않고 남아 있었다. 한마디로 업데이트는 업데이트대로 되고 내 작업물은 작업물대로 없어져버린 상황이다. 아예 브랜치를 받아오기 이전, 특정 커밋 시점으로 완벽하게 돌아가고 싶다면? Git(39) 로컬 브랜치 덮어쓰기 커밋 히스토리를 보고 돌아갈 시점을 찾는다. checkout 해서 그 시점으로 돌아간 후, 해당 브랜치에 체크아웃을 해줘서 그시점의 브랜치로 돌아가자 $ git llg // 커밋 히스토리를 나름 가시적으로 볼수있다. 여기서 필요한 .. 2023. 2. 9.
Git(38) 삭제한 stash 복구 하기 git stash 는 다들 많이 알 것이다. 어느날 stash 를 하다가 실수로 drop 해버렸다. 이럴때 drop 해버린 stash 에 담긴 파일들을 복구해보자. Git(38) 삭제한 stash 복구 하기 1. 아래 명령어를 치면 내가 삭제한 commit 들이 나온다 $ git fsck --unreachable | grep commit | cut -d ' ' -f3 | xargs git log --merges --no-walk 하나하나씩 살펴보자면, $ git fsck // file system check 의 약자이다. database 의 connectivity 와 validity 를검사한다. $ --unreachable // Print out objects that exist but that aren.. 2022. 7. 19.
Git(37) 원격브랜치에서 작업하고 pull, push 하기 다른 팀원이 원격 브랜치로 작업한 걸 넘겨받아 그 위에 살포시 내 코드를 얹어보려 한다. 그럼 원격 브랜치를 사용해 작업을 해보도록 하자. Git(37) 원격브랜치에서 작업하고 pull, push 하기 원격브랜치에서 작업한다는 의미는 협업을 의미한다. 다른사람이 작업한 코드가 반영된 + 원격브랜치 내용을 => 다시 내 로컬브랜치로 다운받아오고 다시 원격브랜치로 2022. 4. 19.
Git(36) BitBucket - Merge branch 'master' of bitbucket.org (squash방식일 때) 우리 개발팀은 아름다운 커밋을 지향하며 squash 해서 머지하는 방식으로 git graph 를 관리하고 있다. 하지만 어느 날인가 부터 브랜치 push 를 할 때마다 Merge branch 'master' of bitbucket.org: 라는 메시지가 뜨면서 어느순간 아래와 비슷한 아름답지 못한 커밋이 나오고 있다. 정확한 원인은 잘 모르겠지만 아마도 잘못된 커밋을 돌리기 위해 git reset 을 하면서 HEAD 가 현재 작업하는 로컬 브랜치와 다른데 위치하게 되어 그렇게 된 것 같다고 추측하였다. Git(36) BitBucket - Merge branch 'master' of bitbucket.org: 여러 방법을 찾아보다 결국 로컬 저장소가 꼬여버렸으니, 다시 원격 마스터를 → 로컬 마스터로 덮어.. 2022. 2. 21.
Git(35) remotes/origin/HEAD -> origin/master 헤드 삭제하기 우리 팀은 빗 버킷에서 rebase 로 관리를 한다. 어느 날부터 한 줄이었던 브랜치가 여러 갈레로 꼬이기 시작했다. 꼬이기 시작한 순간부터 push 할 때마다 이런 메시지가 뜨기 시작했다. Merge branch 'master' of bitbucket.org: 이를 해결하고자 브랜치 리스트를 살펴보다 원격 HEAD 가 원격 master 를 보고 있다는 것을 알게 되었다 🤔 remotes/origin/HEAD -> origin/master (결론적으로 말하면 이 방법으로 해결이 되지는 않았다. 해결방법을 보시려면 포스팅 하단 링크를 참고해주세요 (업로드예정)) Git(35) remotes/origin/HEAD -> origin/master 헤드 삭제하기 왜 나에게 이런 일이 원격 브랜치의 HEAD가 or.. 2022. 1. 25.
Git(34) 다중 로컬 브랜치 삭제하기 로컬 저장소에 다 쓰고 버린 브랜치가 꽤 쌓였다. 일일이 명령어 치기가 귀찮아 한꺼번에 지워버리고 싶다. 한번 알아놓으면 좋으니, 몽땅 다 쓸어버리자. Git(34) 다중 로컬 브랜치 삭제하기 1. 로컬에 있는 브랜치들 확인하기 $ git branch -a 2. 그룹 검색어로 조건에 맞는 브랜치들만 필터링하기 $ git branch | grep "C-29" 3. 이제 지워보자구요. $ git branch | grep "C-29" | xarg git branch -D **grep 란 전달된 파일의 내용에서 특정 문자열을 찾고자 할 때 사용하는 명령어입니다. **xarg 란 리눅스 명령어로 기본 명령어(find, ls, cat) 뒤에 파이프로 추가하여 사용한다. 앞의 내용을 인자로 받아 명령어를 실행한다. 2021. 12. 13.
Git - 충돌 에러 This pull request can't be merged Git 으로 협업하면서 개인적으로 제일 난감했던 부분 중 하나는 바로 conflict 해결이였다. 상황에 따라 어디에서 튀어나올지 모르기 때문이었고, 혹시나 잘못만져서 모두의 코드가 망가질까봐 두려움이 앞섰다. 하지만 두려워할 필요는 없다. 비슷한 충돌을 10번 정도 겪어보면 어느순간 손가락이 자동으로 해결 명령어를 치고 있을 것이다. 충돌이 났다면 이유가 뭐든 한 가지만 기억하자. 나의 코드와 마스터 코드가 겹치기 때문이다. 1. 충돌이 난 코드를 찾아보자. 2. 문제가 있는 부분을 수정하자. 3. 수정후에는 저장(commit → push) 까지 해줄 것이다. Git - 충돌 에러 This pull request can't be merged 빗버킷으로 pull request 를 한 뒤 merge 를 하.. 2021. 11. 18.
Git(33) 원격저장소에 push 한 마지막 커밋 삭제하기 나날이 성장하고 싶은 새발자의 하루 원격저장소에 push 까지 했는데 마지막 commit 을 잘못해버렸다. 이럴 땐 당황하지 말고 아래와 같이 따라해보자. push 해버린 commit 을 삭제하려면 사실 엄청난 명령어를 사용해야 하는 것은 아니다. 기존에 우리에게 친근한(?) 명령어를 이용해서 commit 을 reset 후 되돌아간 코드를 다시 push 해서 저장해주면 된다. Git(33) 원격저장소에 push 한 마지막 커밋 삭제하기 1. 마지막 명령어 치기 이전으로 되돌리자. 나의 경우에는 commit 이 마지막 명령어이기 떄문에 commit 이전으로 돌아갔다. $ git reset HEAD^ 2. 그리고 내가 commit 을 지웠다는 것을 github 에 알려주어 github 내에서도 해당 comm.. 2021. 11. 8.
반응형