본문 바로가기

Git48

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.
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.
반응형