Git 정리(4)
-
Git rebase에 대해 알아보자 🥸
Git rebase에 대해 알아보자 원래는 merge만 사용했었는데, 하나의 브랜치를 만들고 작업을 하다가 commit, push작업을 마쳤지만 history가 지저분하여 다른 브랜치를 생성하고 merge를 하면 변경사항으로 남지 않았기 때문에 내가 했던 작업을 commit, push를 할 수 가 없었다. 여기서 방법은 2가지가 있는데 Cherry Pick or rebase를 활용하면 된다. 이번에는 rebase를 활용해보겠다. merge와 rebase를 했을 때 가장 큰 차이는 "깔끔함" merge로 사용하면 모든 commit을 남기게 되지만, rebase를 이용하면 필요없는 commit을 생략시키기 때문에 master의 commit은 항상 깔끔하다. 한 가지 예를 들어보자 만약 feature/test..
2021.08.10 -
Git Cherry Pick에 대해 알아보자🙌
Git Cherry Pick 내가 원하는 커밋 가져오기 아래와 같이 storybook이라는 브랜치를 생성 후 A, B, C 각각의 작업에서 스토리북에 기록시켜두고 싶은 커밋만 쏙쏙 골라서 반영할 방법이다. Cherry Pick 다른 브랜치의 일부 커밋만 반영하고 싶을 때 사용하는 깃 명령어 히스토리를 갖고 있는 해당 줄기(브랜치)를 전부 다 가져오고 싶은 게 아니라 특정 커밋만 골라내서 가져올 수 있는 깃 명령어, Cherry Pick을 사용하면된다. 소스트리에서 사용하는 법 예를 들어 A라는 프로젝트의 수많은 곁가지 feature/ 브랜치들 중 특정 컴포넌트 버그를 수정한 컴포넌트만 가져오고 싶을 때 반영되어야하는 브랜치로 체크아웃한 후(스토리북) 반영하고 싶은 브랜치의 커밋에 위의 사진과 같이 오른쪽..
2021.08.10 -
Git Commands 정리🧐
[TOC] Git 정리 #주요 Commands 소스코드의 origin 저장소를 초기화하고 remote 서버와 처음으로 연결할 때 최초의 프로젝트(origin)는 로컬 저장소에서 시작될 것이다. 운영체제에 git을 설치하고 원격 저장소가 준비되었다고 가정할 때 아래와 같이 git init 명령을 통해 git 프로젝트로 초기화할 수 있다. $ echo "# Hi" > README.md $ git init #git add, commit git add 명령어는 git flow의 첫 단계에 해당되며 인덱스에 새로운 파일이 생겼다는 것을 알리는 행위이다. 이 상태는 저장소에는 반영이 되지 않은 상태이며 git commit 명령을 통해 비로소 저장소에 변경내역이 반영된다. $ git commit -m "이 버전의 변..
2021.08.10 -
Git Flow에 대해 알아보자🤔
Git Flow Git Flow는 git을 효율적으로 프로젝트를 관리하고 배포하기 위한 전략이다. Git은 다음과 같은 과정을 거친다. 하지만 프로젝트의 규모가 커지고 협업하는 동료들이 많아진다면 저장소의 master branch만을 이용한는 것에서 이슈에 따라 다양한 branch를 통해 다양한 인원이 독립적으로 개발이 가능한 전략이 필요함!! #Git Flow Git Flow는 다양한 branch를 관리하고 통합하기 위한 전략 중 하나이다. 최근에는 Git Flow의 단점을 해소하기 위해 GitHub Flow, GitLab Flow 등 다양한 전략이 있지만 이 문서에는 가장 기본이 되는 Git Flow를 설명하고 여기에 필요한 기본적인 Git 명령어에 대해 알아보자!! #브랜치 전략 Git Flow의 ..
2021.08.10