본문 바로가기

Git46

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.
Git(32) 원격 브랜치 삭제하기 오늘도 열일하는 새발자 브랜치 작업 뒤 마스터에 merge 후에는 항상 브랜치를 지워준다. 그래야 커밋내역들을 깨끗하게 관리할 수 있기 때문이다. 원래는 빗버킷이랑 연동해서 머지할때마다 브랜치를 자동 삭제해주지만, 가끔 수동으로 지워줘야 할 때가 있다. 로컬 브랜치를 지운 뒤 원격 브랜치를 따로 지워주다가 잊어버릴 미래의 나를 위해 기록으로 남긴다. Git(32) 원격 브랜치 삭제하기 이미 로컬 브랜치는 삭제했고, 이제 원격 브랜치를 삭제해 보려고 한다. 브랜치 목록을 확인해보자. 다쓰고 남겨진 원격브랜치가 여전히 남아있다. $ git branch -a 그럼 딜리트 주문을 외워보자. $ git push origin -- delete "브랜치명" 다시 브랜치 목록을 확인해보니 깔끔하게 삭제 되었다. (짝짝짝) 2021. 10. 25.
Git(31) git add 취소하기 (staging 취소) git add 명령어로 staging 한 파일들을 다시 되돌리려면 git reset 을 사용해준다. Git(31) git add 취소하기 (staging 취소) 앗 ! 실수로 git add . 를 하여 변경한 전체 파일을 staging 했다. 😵‍💫 당황치 말고 git reset 으로 다시 unstaged 상태로 되돌리자 🤓 만약, 특정 파일만 unstaged로 되돌리고 싶다면 ? git reset 뒤에 파일경로를 적어주면 해결! Hoxy 저의 미흡한 포스팅이 도움이 되셨다면..? 5랜시간을 해메이다 해결에 도움이 되셨다면..? 광고한번만 눌러주시면 힘내서 더 열심히 포스팅하겠습니다! 감사합니다. (🙇‍♀️꾸벅) -새발자올림- 2021. 10. 17.
Git(30) git cherry-pick 사용법 작업을 하다보면 다른 브랜치에서 커밋한 코드들을 현재 브랜치에 복사해서 얹어놔야 할 때가 있다. cherry-pick 은 현재 브랜치에 다른 브랜치의 커밋들을 골라서 복사해 얹어놓는 신개념 명령어다. git cherry-pick 바로 뒤에 커밋번호 를 쓰면 현재 브랜치에 해당 커밋 코드들이 떡하니 copy 되어 올라간다. $ git cherry-pick 커밋# Git(30) git cherry-pick 사용법 자, 그림을 통해 이해해 보자. 지금은 main 브랜치에서 작업 중이다. 근데 side 브랜치에서 작업한 커밋들(C4 랑 C2) 를 main 브랜치에 복사해서 가져다놓아야 한다. 이때 git cherry-pick 명령어와 필요한 커밋 순서대로 커밋#를 넣어주면 $ git cherry-pick C2 .. 2021. 9. 19.
Git(29) git stash 란 요즘 git 을 중점적으로 사용하다 보니 git 에 대한 포스팅이 많다. 그만큼 지식과 대처능력도 쌓여가리라 믿는다 :) 오늘은 git stash 에 대해 중점적으로 알아보자. Git(29) git stash 란 - git stash 사용하기 git stash 는 내가 작업하던 코드만 싹 긁어서 임시 공간에 저장해준다. (클립보드 같은 느낌이랄까) 내 브랜치는 { 마스터 + 그 뒤로 작업한 코드 } 상태이다. 작업한 코드만 싹 잘라내기(git stash)하고, 임시공간에 따로 저장해놓는다. 내 브랜치는 { 마스터 } 만 남는다. 어딘가에 { 그 뒤로 작업한 코드 } 가 따로 임시 저장된다. 커밋 이 후에 작업을 했다. const ItemDetail = (): ReactElement => { return .. 2021. 9. 8.
Git(28) git reset 으로 삭제한 커밋 원래대로 되돌리기 git pull 을 받고 컨플릭트를 해결하려다 git reset --hard 으로 마지막 커밋을 삭제하였다. 자 reset 을 취소하고 삭제했던 커밋을 되돌려보자. 이렇게 취소할 수 있는 이유는 Git 에서 커밋, 체크아웃, 머지, 등의 이력을 모두 기록하기 때문이다. Git(28) reset 으로 삭제한 커밋 원래대로 되돌리기 일단 로그를 확인해야 한다. 돌아가야 할 로그를 확인하고 명령어를 통해 다시 돌아가보자. 1. ref로그 확인하기 HEAD 는 마지막 커밋의 참조로 가장 최신 커밋 을 가리키는 좌표같은 것이다. - HEAD@{0} 은 현재 상태를 가리킨다. ex) reset 해서 마지막 커밋이 삭제된 상태 - HEAD@{1} 은 마지막 명령어가 실행된 상태이다. ex) 마지막 커밋을 한 상태 -.. 2021. 9. 5.
반응형