SlideShare a Scribd company logo
1 of 56
GITFLOW
우리가 git을 써야 하는 이
유
정은
아
CHAPTER 1
git의 사용 이유
git이 필요한 상황들
기본 사용법
svn과 다른 git
CHAPTER 2
CHAPTER 3
branch 관리방법
gitflow, githubflow,
gitlabflow
CHAPTER 4
gitflow
결론은 gitflow
CHAPTER 1
git의 사용 이유
git이 필요한 상황들
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
CHAPTER 1 git의 사용 이유
1번 상황
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
지금 라이브 이벤트 QA 중인
데
말풍선이 안나와요
지금 라이브 이벤트 QA 중인
데
데이터가 적용이 안돼요
라이브 버전 태그를 통으로 받아서(오래걸
림)
실행해서 버그를 찾아냄
현재 해결 방법
해당 버전 tag를 찾아서 해당 커밋으로 이동!
바로 visual studio에서 해당 버전으로 버그 찾
기
git을 썼다면 해결 방법
CHAPTER 1 git의 사용 이유
2번 상황
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
작업이 밀려서 다른 작업 먼저
했더니 작업이 섞여서 커밋이
안되네
1. 대충 커밋한다.
2. 다 할때까지 기다린다.
현재 해결 방법
git은 줄마다 커밋이 가능하다.
완료된 작업만 먼저 커밋한다.
혹은 코드를 stage에 올려놓는다.
git을 썼다면 해결 방법
CHAPTER 1 git의 사용 이유
3번 상황
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
은아님 지금 작업중이신거 잠깐
멈추고 이거 먼저 해주세요
1. 섞어서 작업한다.
2. 일단 커밋한다.
현재 해결 방법
Feature Branch1에서 작업중인것을 멈추고
새로운 Feature branch2를 생성해 작업
git을 썼다면 해결 방법
CHAPTER 1 git 사용중
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
사용 프로그램 :
GitKraken
사용 이유 : 잘 알려진
SourceTree랑은 다르게 직
관적으로 브렌치 관리를
할 수 있음
Gitflow를 사용하기 편한
구조
CHAPTER 1 git 사용중
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
CHAPTER 1 git 사용중
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
CHAPTER 1 git 사용중
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
CHAPTER 2
기본 사용법
Svn과 다른 git 사용법
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
CHAPTER 2
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
기본 사용법
https://www.slideshare.net/einsub/svn-git-17386752
CHAPTER 2
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
기본 사용법
https://milooy.wordpress.com/2017/06/21/working-together-with-github-tutorial/
CHAPTER 2
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
기본 사용법
CHAPTER 3
branch 관리방
법 gitflow, githubflow,
gitlabflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
CHAPTER 3 branch 관리방법
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
githubflow
Github에서 사용하는 브렌치 관리방법
http://scottchacon.com/2011/08/31/github-flow.html
gitlabflow
Gitlab에서 githubflow를 보완해 만든 브렌치 관리방
법
https://about.gitlab.com/2014/09/29/gitlab-flow/
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
CHAPTER 3 branch 관리방법
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
배포되었거나 배포 직전의 브렌치
CHAPTER 3 branch 관리방법
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
긴급 버그 수정 브렌치
CHAPTER 3 branch 관리방법
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
배포를 준비하기 위한 브렌치
CHAPTER 3 branch 관리방법
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
개발 완료 되고 언제든지 배포할 수 있는 상태
CHAPTER 3 branch 관리방법
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
실제 개발 브렌치, 기능별로 Feature 브렌치를 생성
CHAPTER 3 branch 관리방법
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
Feature 브렌치는 원격 저장소에 반영하지 않고 로컬저장소에만 존재하도록
CHAPTER 3 branch 관리방법
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
CHAPTER 3 branch 관리방법
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
Release 브렌치가 명확하지 않은 웹 서비스에서 사용하기 편한 구조
githubflow
Github에서 사용하는 브렌치 관리방법
http://scottchacon.com/2011/08/31/github-flow.html
CHAPTER 3 branch 관리방법
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
Hotfix와 작은 기능은 구분하지 않고 개발자의 우선순위에 따라서 브렌치를
githubflow
Github에서 사용하는 브렌치 관리방법
http://scottchacon.com/2011/08/31/github-flow.html
CHAPTER 3 branch 관리방법
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
항상 배포가 가능한 상태로 유지하는 게 포인트
githubflow
Github에서 사용하는 브렌치 관리방법
http://scottchacon.com/2011/08/31/github-flow.html
CHAPTER 3 branch 관리방법
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
기능 개발 브렌치는 항상 명확하게 이름을 짓는다
githubflow
Github에서 사용하는 브렌치 관리방법
http://scottchacon.com/2011/08/31/github-flow.html
CHAPTER 3 branch 관리방법
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
githubflow
Github에서 사용하는 브렌치 관리방법
http://scottchacon.com/2011/08/31/github-flow.html
원격지에 브렌치를 수시로 push를 하고 머지 준비가 끝났을 경우에는 pull request를
CHAPTER 3 branch 관리방법
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
githubflow
Github에서 사용하는 브렌치 관리방법
http://scottchacon.com/2011/08/31/github-flow.html
Pull Request
코드 리뷰가 필요할 때 혹은 작업이 완료되었을때 pull request를 요청한다
Pull request가 master브렌치에 머지되면 다른 사람들은 해당 내용을 받은 후
작업중인 브렌치에 rebase를 통해 그래프의 최상단으로 올리는것이 좋다
CHAPTER 3 branch 관리방법
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
githubflow
Github에서 사용하는 브렌치 관리방법
http://scottchacon.com/2011/08/31/github-flow.html
Master에 병합이 된 경우에는 cI를 통한 자동 배포하도록 한
CHAPTER 3 branch 관리방법
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
gitlabflow
Gitlab에서 githubflow를 보완해 만든 브렌치 관리방
법
https://about.gitlab.com/2014/09/29/gitlab-flow/
Master와 Production 사이에 Pre-Production을 만들어 배포되는 시간을 조절하도록 수
CHAPTER 3 branch 관리방법
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
gitlabflow
Gitlab에서 githubflow를 보완해 만든 브렌치 관리방
법
https://about.gitlab.com/2014/09/29/gitlab-flow/
라이브에 문제가 있으면 cherry-pick을 사용해서 작업을 진행한다
CHAPTER 4
gitflow
결론은 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
처음 사용하기 위해서
는 gitflow 초기화가 필
요함
https://github.com/petervanderdoes/gitflow-avh/wiki/Installation
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
시작한 브렌치는 언젠가 반드시 종료되어야 한다
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
Publish는 원격에 브렌치를 push 하는것
기능을 공동으로 개발할때 사용
gitflow 에서 사용가능한 command
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
Pull은 다른 유저가 publish한 기능을 갖고오는
gitflow 에서 사용가능한 command
CHAPTER 4 gitflow
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
MASTER
DEVELOP
평소에 할일 없는 경우, default 상태
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
MASTER
DEVELOP
FEATURE/
RESOURCE
메모리 관리툴을 만들기 위한 브렌치 생성 상태
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
MASTER
DEVELOP
FEATURE/
RESOURCE
FEATURE/
v58 작업
중간에 v58 작업이 생겨서 돌아갈때는 새로 Feature 브렌치를 생성해서 작업
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
MASTER
DEVELOP
FEATURE/
RESOURCE
FEATURE/
v58 작업
작업이 완료되면 Finish feature를 통해 develop 브렌치에 머지
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
MASTER
DEVELOP
FEATURE/
RESOURCE
RELEASE/
v58
심의 준비를 위해 Release 브렌치를 start하고 버전 코드 등을 변경한 뒤
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
MASTER
DEVELOP
FEATURE/
RESOURCE
RELEASE/
v58
Release 브렌치를 finish하면 master, develop 브렌치에 머지가 되고
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
MASTER
DEVELOP
FEATURE/
RESOURCE
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
v58
RELEASE/
v58
V58 tag 생성이 된다.
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
MASTER
DEVELOP
FEATURE/
RESOURCE
HOTFIX/
v58 BTS
HotFix는 Master 브렌치와 Develop 브렌치에 동시에 머지되고 tag가 생성됨
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
Bug!
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
현재 로컬에서 사용하고 있는 gitflow의 모습
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
Master / Feature / Develop / Hotfix
처음에 Hotfix로 작업해서 생긴 tag
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
V58때는 BTS를 Feature로 작업했지만
다음에는 개발 마감 이후에는 Release 브렌
치로
작업해 볼 예정
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
MASTER
DEVELOP
FEATURE/
RESOURCE
HOTFIX/
v58 BTS
Develop 적용도 전에 바로 Master에 적용하는건 이상한 모양
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
MASTER
DEVELOP
FEATURE/
RESOURCE
RELEASE/
v58 BTS
그래서 Feature로 v58을 작업했는데 생각해보니 Release에서 작업하는것도 나쁘지 않은
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
혹은 Feature브렌치에서 BTS 가 Close 되기
전까지는 브렌치를 갖고 있을 예정
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
사실 브렌치 관리 방법은 명확하게 정해진 룰을 따르는 게 아니라
자기가 진행하고 있는 프로젝트에 맞게 룰을 정하면 되는 문제라
아직 시행착오를 겪고 있는 중
gitflow
대중적으로 많이 쓰이는 브렌치 관리 방법
http://nvie.com/posts/a-successful-git-branching-model/
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
실제로 개인적으로 공부
하는 Github repo를 보면
svn 처럼 사용하고 있음
개인적으로 혼자서 책을
따라서 만들고 있기 때문
에 develop이나 다른 브렌
치가 필요하지 않았기 때
문
CHAPTER 4 gitflow
Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
처음 git을 사용하시게 된다면
알아두면 좋은 사이트
https://www.gitignore.io/
Q & A
COLORFUL
Thank you
COLORFUL
Good bye

More Related Content

Similar to git의 브렌치 관리 방법

디자이너를위한Git #1/2
디자이너를위한Git #1/2디자이너를위한Git #1/2
디자이너를위한Git #1/2Choulhyouc Lee
 
소셜 코딩 GitHub & branch & branch strategy
소셜 코딩 GitHub & branch & branch strategy소셜 코딩 GitHub & branch & branch strategy
소셜 코딩 GitHub & branch & branch strategyKenu, GwangNam Heo
 
GITHUB와 함께 Social하게 코딩하기
GITHUB와 함께 Social하게 코딩하기GITHUB와 함께 Social하게 코딩하기
GITHUB와 함께 Social하게 코딩하기Young-Ho Cha
 
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기CONNECT FOUNDATION
 
140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴은아 정
 
GIT_GETCHA_HANJUNG
GIT_GETCHA_HANJUNGGIT_GETCHA_HANJUNG
GIT_GETCHA_HANJUNGJung Han
 
Git Tutorial
Git TutorialGit Tutorial
Git TutorialMDLicht
 
XECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHub
XECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHubXECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHub
XECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHubXpressEngine
 
오픈소스 공헌을 위한 필수 지식
오픈소스 공헌을 위한 필수 지식오픈소스 공헌을 위한 필수 지식
오픈소스 공헌을 위한 필수 지식Matthew (정재화)
 
오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료BJ Jang
 
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+githubGit 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+githubJunyoung Lee
 
디자이너 버전관리
디자이너 버전관리디자이너 버전관리
디자이너 버전관리Hailey Lee
 
Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Junyoung Lee
 
svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드Insub Lee
 
Git: A Motivating Introduction
Git: A Motivating IntroductionGit: A Motivating Introduction
Git: A Motivating IntroductionJongwook Choi
 
[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기
[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기
[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기Subin An
 
Git cooperation
Git cooperationGit cooperation
Git cooperation민정 김
 

Similar to git의 브렌치 관리 방법 (20)

디자이너를위한Git #1/2
디자이너를위한Git #1/2디자이너를위한Git #1/2
디자이너를위한Git #1/2
 
소셜 코딩 GitHub & branch & branch strategy
소셜 코딩 GitHub & branch & branch strategy소셜 코딩 GitHub & branch & branch strategy
소셜 코딩 GitHub & branch & branch strategy
 
GITHUB와 함께 Social하게 코딩하기
GITHUB와 함께 Social하게 코딩하기GITHUB와 함께 Social하게 코딩하기
GITHUB와 함께 Social하게 코딩하기
 
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
 
140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴
 
GIT_GETCHA_HANJUNG
GIT_GETCHA_HANJUNGGIT_GETCHA_HANJUNG
GIT_GETCHA_HANJUNG
 
Git Tutorial
Git TutorialGit Tutorial
Git Tutorial
 
XECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHub
XECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHubXECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHub
XECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHub
 
오픈소스 공헌을 위한 필수 지식
오픈소스 공헌을 위한 필수 지식오픈소스 공헌을 위한 필수 지식
오픈소스 공헌을 위한 필수 지식
 
오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료
 
git-workflow
git-workflowgit-workflow
git-workflow
 
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+githubGit 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
 
디자이너 버전관리
디자이너 버전관리디자이너 버전관리
디자이너 버전관리
 
Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)
 
svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드
 
Git: A Motivating Introduction
Git: A Motivating IntroductionGit: A Motivating Introduction
Git: A Motivating Introduction
 
Git & GitHub
Git & GitHubGit & GitHub
Git & GitHub
 
[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기
[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기
[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기
 
Git cooperation
Git cooperationGit cooperation
Git cooperation
 
Why use git
Why use gitWhy use git
Why use git
 

More from 은아 정

2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"은아 정
 
C++ 미정의 행동(undefined behavior)
C++ 미정의 행동(undefined behavior)C++ 미정의 행동(undefined behavior)
C++ 미정의 행동(undefined behavior)은아 정
 
2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용
2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용
2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용은아 정
 
2015.12.05 쪼꼬두유 방황기
2015.12.05 쪼꼬두유 방황기2015.12.05 쪼꼬두유 방황기
2015.12.05 쪼꼬두유 방황기은아 정
 
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"은아 정
 
2015.08.01 회사원쪼꼬두유
2015.08.01 회사원쪼꼬두유2015.08.01 회사원쪼꼬두유
2015.08.01 회사원쪼꼬두유은아 정
 
안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기은아 정
 
Unity5 사용기
Unity5 사용기Unity5 사용기
Unity5 사용기은아 정
 
페차쿠차2014 1
페차쿠차2014 1페차쿠차2014 1
페차쿠차2014 1은아 정
 

More from 은아 정 (10)

2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
 
C++ 미정의 행동(undefined behavior)
C++ 미정의 행동(undefined behavior)C++ 미정의 행동(undefined behavior)
C++ 미정의 행동(undefined behavior)
 
2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용
2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용
2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용
 
2015.12.05 쪼꼬두유 방황기
2015.12.05 쪼꼬두유 방황기2015.12.05 쪼꼬두유 방황기
2015.12.05 쪼꼬두유 방황기
 
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"
 
2015.08.01 회사원쪼꼬두유
2015.08.01 회사원쪼꼬두유2015.08.01 회사원쪼꼬두유
2015.08.01 회사원쪼꼬두유
 
안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기
 
Unity5 사용기
Unity5 사용기Unity5 사용기
Unity5 사용기
 
페차쿠차2014 1
페차쿠차2014 1페차쿠차2014 1
페차쿠차2014 1
 
C++ stl
C++ stlC++ stl
C++ stl
 

git의 브렌치 관리 방법

  • 1. GITFLOW 우리가 git을 써야 하는 이 유 정은 아
  • 2. CHAPTER 1 git의 사용 이유 git이 필요한 상황들 기본 사용법 svn과 다른 git CHAPTER 2 CHAPTER 3 branch 관리방법 gitflow, githubflow, gitlabflow CHAPTER 4 gitflow 결론은 gitflow
  • 3. CHAPTER 1 git의 사용 이유 git이 필요한 상황들 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 4. CHAPTER 1 git의 사용 이유 1번 상황 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 지금 라이브 이벤트 QA 중인 데 말풍선이 안나와요 지금 라이브 이벤트 QA 중인 데 데이터가 적용이 안돼요 라이브 버전 태그를 통으로 받아서(오래걸 림) 실행해서 버그를 찾아냄 현재 해결 방법 해당 버전 tag를 찾아서 해당 커밋으로 이동! 바로 visual studio에서 해당 버전으로 버그 찾 기 git을 썼다면 해결 방법
  • 5. CHAPTER 1 git의 사용 이유 2번 상황 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 작업이 밀려서 다른 작업 먼저 했더니 작업이 섞여서 커밋이 안되네 1. 대충 커밋한다. 2. 다 할때까지 기다린다. 현재 해결 방법 git은 줄마다 커밋이 가능하다. 완료된 작업만 먼저 커밋한다. 혹은 코드를 stage에 올려놓는다. git을 썼다면 해결 방법
  • 6. CHAPTER 1 git의 사용 이유 3번 상황 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 은아님 지금 작업중이신거 잠깐 멈추고 이거 먼저 해주세요 1. 섞어서 작업한다. 2. 일단 커밋한다. 현재 해결 방법 Feature Branch1에서 작업중인것을 멈추고 새로운 Feature branch2를 생성해 작업 git을 썼다면 해결 방법
  • 7. CHAPTER 1 git 사용중 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 사용 프로그램 : GitKraken 사용 이유 : 잘 알려진 SourceTree랑은 다르게 직 관적으로 브렌치 관리를 할 수 있음 Gitflow를 사용하기 편한 구조
  • 8. CHAPTER 1 git 사용중 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 9. CHAPTER 1 git 사용중 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 10. CHAPTER 1 git 사용중 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 11. CHAPTER 2 기본 사용법 Svn과 다른 git 사용법 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 12. CHAPTER 2 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 기본 사용법 https://www.slideshare.net/einsub/svn-git-17386752
  • 13. CHAPTER 2 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 기본 사용법 https://milooy.wordpress.com/2017/06/21/working-together-with-github-tutorial/
  • 14. CHAPTER 2 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 기본 사용법
  • 15. CHAPTER 3 branch 관리방 법 gitflow, githubflow, gitlabflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 16. CHAPTER 3 branch 관리방법 gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ githubflow Github에서 사용하는 브렌치 관리방법 http://scottchacon.com/2011/08/31/github-flow.html gitlabflow Gitlab에서 githubflow를 보완해 만든 브렌치 관리방 법 https://about.gitlab.com/2014/09/29/gitlab-flow/ Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 17. CHAPTER 3 branch 관리방법 gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 배포되었거나 배포 직전의 브렌치
  • 18. CHAPTER 3 branch 관리방법 gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 긴급 버그 수정 브렌치
  • 19. CHAPTER 3 branch 관리방법 gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 배포를 준비하기 위한 브렌치
  • 20. CHAPTER 3 branch 관리방법 gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 개발 완료 되고 언제든지 배포할 수 있는 상태
  • 21. CHAPTER 3 branch 관리방법 gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 실제 개발 브렌치, 기능별로 Feature 브렌치를 생성
  • 22. CHAPTER 3 branch 관리방법 gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ Feature 브렌치는 원격 저장소에 반영하지 않고 로컬저장소에만 존재하도록
  • 23. CHAPTER 3 branch 관리방법 gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 24. CHAPTER 3 branch 관리방법 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ Release 브렌치가 명확하지 않은 웹 서비스에서 사용하기 편한 구조 githubflow Github에서 사용하는 브렌치 관리방법 http://scottchacon.com/2011/08/31/github-flow.html
  • 25. CHAPTER 3 branch 관리방법 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ Hotfix와 작은 기능은 구분하지 않고 개발자의 우선순위에 따라서 브렌치를 githubflow Github에서 사용하는 브렌치 관리방법 http://scottchacon.com/2011/08/31/github-flow.html
  • 26. CHAPTER 3 branch 관리방법 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 항상 배포가 가능한 상태로 유지하는 게 포인트 githubflow Github에서 사용하는 브렌치 관리방법 http://scottchacon.com/2011/08/31/github-flow.html
  • 27. CHAPTER 3 branch 관리방법 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 기능 개발 브렌치는 항상 명확하게 이름을 짓는다 githubflow Github에서 사용하는 브렌치 관리방법 http://scottchacon.com/2011/08/31/github-flow.html
  • 28. CHAPTER 3 branch 관리방법 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ githubflow Github에서 사용하는 브렌치 관리방법 http://scottchacon.com/2011/08/31/github-flow.html 원격지에 브렌치를 수시로 push를 하고 머지 준비가 끝났을 경우에는 pull request를
  • 29. CHAPTER 3 branch 관리방법 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ githubflow Github에서 사용하는 브렌치 관리방법 http://scottchacon.com/2011/08/31/github-flow.html Pull Request 코드 리뷰가 필요할 때 혹은 작업이 완료되었을때 pull request를 요청한다 Pull request가 master브렌치에 머지되면 다른 사람들은 해당 내용을 받은 후 작업중인 브렌치에 rebase를 통해 그래프의 최상단으로 올리는것이 좋다
  • 30. CHAPTER 3 branch 관리방법 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ githubflow Github에서 사용하는 브렌치 관리방법 http://scottchacon.com/2011/08/31/github-flow.html Master에 병합이 된 경우에는 cI를 통한 자동 배포하도록 한
  • 31. CHAPTER 3 branch 관리방법 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ gitlabflow Gitlab에서 githubflow를 보완해 만든 브렌치 관리방 법 https://about.gitlab.com/2014/09/29/gitlab-flow/ Master와 Production 사이에 Pre-Production을 만들어 배포되는 시간을 조절하도록 수
  • 32. CHAPTER 3 branch 관리방법 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ gitlabflow Gitlab에서 githubflow를 보완해 만든 브렌치 관리방 법 https://about.gitlab.com/2014/09/29/gitlab-flow/ 라이브에 문제가 있으면 cherry-pick을 사용해서 작업을 진행한다
  • 33. CHAPTER 4 gitflow 결론은 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 34. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 처음 사용하기 위해서 는 gitflow 초기화가 필 요함 https://github.com/petervanderdoes/gitflow-avh/wiki/Installation
  • 35. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 시작한 브렌치는 언젠가 반드시 종료되어야 한다
  • 36. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ Publish는 원격에 브렌치를 push 하는것 기능을 공동으로 개발할때 사용 gitflow 에서 사용가능한 command
  • 37. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ Pull은 다른 유저가 publish한 기능을 갖고오는 gitflow 에서 사용가능한 command
  • 38. CHAPTER 4 gitflow gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ MASTER DEVELOP 평소에 할일 없는 경우, default 상태 Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 39. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ MASTER DEVELOP FEATURE/ RESOURCE 메모리 관리툴을 만들기 위한 브렌치 생성 상태 CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 40. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ MASTER DEVELOP FEATURE/ RESOURCE FEATURE/ v58 작업 중간에 v58 작업이 생겨서 돌아갈때는 새로 Feature 브렌치를 생성해서 작업 CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 41. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ MASTER DEVELOP FEATURE/ RESOURCE FEATURE/ v58 작업 작업이 완료되면 Finish feature를 통해 develop 브렌치에 머지 CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 42. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ MASTER DEVELOP FEATURE/ RESOURCE RELEASE/ v58 심의 준비를 위해 Release 브렌치를 start하고 버전 코드 등을 변경한 뒤 CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 43. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ MASTER DEVELOP FEATURE/ RESOURCE RELEASE/ v58 Release 브렌치를 finish하면 master, develop 브렌치에 머지가 되고 CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 44. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ MASTER DEVELOP FEATURE/ RESOURCE CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ v58 RELEASE/ v58 V58 tag 생성이 된다.
  • 45. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ MASTER DEVELOP FEATURE/ RESOURCE HOTFIX/ v58 BTS HotFix는 Master 브렌치와 Develop 브렌치에 동시에 머지되고 tag가 생성됨 CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ Bug!
  • 46. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 현재 로컬에서 사용하고 있는 gitflow의 모습
  • 47. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ Master / Feature / Develop / Hotfix 처음에 Hotfix로 작업해서 생긴 tag
  • 48. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ V58때는 BTS를 Feature로 작업했지만 다음에는 개발 마감 이후에는 Release 브렌 치로 작업해 볼 예정
  • 49. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ MASTER DEVELOP FEATURE/ RESOURCE HOTFIX/ v58 BTS Develop 적용도 전에 바로 Master에 적용하는건 이상한 모양 CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 50. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ MASTER DEVELOP FEATURE/ RESOURCE RELEASE/ v58 BTS 그래서 Feature로 v58을 작업했는데 생각해보니 Release에서 작업하는것도 나쁘지 않은 CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │
  • 51. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 혹은 Feature브렌치에서 BTS 가 Close 되기 전까지는 브렌치를 갖고 있을 예정
  • 52. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 사실 브렌치 관리 방법은 명확하게 정해진 룰을 따르는 게 아니라 자기가 진행하고 있는 프로젝트에 맞게 룰을 정하면 되는 문제라 아직 시행착오를 겪고 있는 중
  • 53. gitflow 대중적으로 많이 쓰이는 브렌치 관리 방법 http://nvie.com/posts/a-successful-git-branching-model/ CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 실제로 개인적으로 공부 하는 Github repo를 보면 svn 처럼 사용하고 있음 개인적으로 혼자서 책을 따라서 만들고 있기 때문 에 develop이나 다른 브렌 치가 필요하지 않았기 때 문
  • 54. CHAPTER 4 gitflow Chapter.1 Chapter.2 Chapter.3 Chapter.4│ │ │ 처음 git을 사용하시게 된다면 알아두면 좋은 사이트 https://www.gitignore.io/