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를 사용하기 편한
구조
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을 사용해서 작업을 진행한다
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/