[Git] Git Flow 브랜치 전략
·
Etc./Git ∙ GitHub
개발 협업을 하는 과정에서 사용되는 브랜치 전략들 중 많은 곳에서 사용되고 있는 Git Flow 전략에 대해 간단히 살펴보자. 우선 브랜치 전략이란 여러 개발자가 하나의 저장소를 사용하는 환경에서 저장소를 효과적으로 활용하기 위한 워크플로우다. 브랜치 전략이 없다면 어떤 브랜치가 최신 브랜치인지, 어디에 push를 해야 하는지, 어떤 브랜치를 끌어와서 개발을 시작해야 하는지 등 여러 혼선이 일어날 수 있다. 가장 널리 사용되는 브랜치 전략 두 가지로는 Git Flow 전략과 GitHub Flow 전략이 있다. Git Flow 전략은 Vincent Driessen이 제시한 브랜치 전략이다. 아래 링크에서 그가 쓴 글을 확인해볼 수 있다. A successful Git branching model In th..
[Git] PR Merge의 방법들과 각 방법의 특징
·
Etc./Git ∙ GitHub
GitHub에서는 두 개의 브랜치를 머지(merge)하는 세 가지의 방법이 있다. 각 방법이 무엇인지, 그 특징은 무엇인지 알아보자. 1. Create a merge commit 두 브랜치의 변경 사항을 모두 유지하면서 병합 각 브랜치의 변경 사항이 과거의 커밋으로 보존되고, 새로운 커밋이 추가되어 최종 병합이 완료 장점 브랜치의 히스토리 모두 유지하면서 변경 사항을 병합할 수 있음 프로젝트의 진행 상황을 명황하게 이해하고 추적 가능 모든 커밋들의 커밋 아이디가 바뀌는 경우가 없기 때문에 squash와 rebase 방식에 비해서 비교적 사용이 쉬움 단점 커밋 히스토리가 복잡해질 수 있음 팀이 커질수록 이 복잡성을 빠르게 증가하게 됨 2. Squash and Merge 브랜치에서의 모든 변경 사항을 하나의..
[Git] git add -A 커맨드와 git add . 커맨드의 차이 (+ git add -u)
·
Etc./Git ∙ GitHub
우선 git add라는 커맨드는 working directory에 있는 새로운 파일, 혹은 수정된 파일을 staging area에 올리는 작업을 하는 커맨드이다. 공부를 하던 중 한 예시에서 -A 옵션이 달린 커맨드가 쓰였는데 git add . 과 헷갈려서 검색해 본 내용을 정리해서 기록으로 남긴다. 우선 두 커맨드는 staging area에 올라갈 대상 파일의 범위에 차이가 있다. git add -A: 레포지토리 전체에 있는 모든 파일을 staging area에 더함 git add . : 현재 디렉토리와 하위 디렉토리에 있는 모든 파일을 staging area에 더함 그래서 루트 레포지토리에서 실행된 커맨드가 아니라면 둘의 결과는 다르다. 좀 더 찾아보니 git add -u라는 커맨드도 있다. git ..