공부기록

Git 워크플로우 본문

Git

Git 워크플로우

gracelove91 2019. 11. 15. 16:32
반응형

우리 프로젝트의 git 워크플로우.

먼저  https://github.com/gracelove91  에 들어가서 본인이 소속된 팀의 프로젝트를 자신의 계정으로 fork 해옵니다.
GitHub Desktop을 열고 Clone a Repository from the internet을 선택합니다.
아까 fork해온 프로젝트를 선택하고, 적절한 위치를 지정해준 뒤 Clone 버튼을 누르면지정한 위치에 새로운 Local Repository가 만들어집니다. 이제 기본셋팅은 완료됐습니다. 코딩만 하면 되는데, 일단 코딩하기 전 개발할 기능의 Branch를 따봅시다.
current branch를 클릭한 뒤 new branch를 클릭합니다.
branch의 이름을 지어준 뒤 Create Branch를 클릭합니다
그럼 Current Branch가 방금 만들어준 Branch로 바뀌어있는 걸 알 수 있습니다.
또한 STS 프로젝트 옆에도 현재 브랜치가 명시되어있는 걸 알 수 있습니다. 이제 IDE에서 작업을 합니다.
Git 개요에서 말씀드렸던 것처럼 Git이 해당 프로젝트 내의 변경사항들을 추적합니다. 이제 Commit을 합니다. 의미있는 커밋메시지를 적어야합니다.
커밋을 한 상태입니다. feat/userValidator 브랜치에는 해당 커밋이 기록이 된 겁니다. 이제 Local Repository에서 Origin Repository로 브랜치를 올립니다.(publish branch)
publish branch를 한 뒤, 깃헙에 가보면 해당 브랜치가 Origin Repository에도 생긴 걸 볼 수 있습니다.
이제 PullRequest를 보내봅시다. create pull request를 클릭하면 깃헙 홈페이지로 연결됩니다.
Origin의 feat브랜치에서 Upstream의 develop 브랜치로 pull request를 생성합니다. 팀원 분들은 직접 Merge하지 마시고, 팀장이 코드를 확인하고 Merge를 합니다.

추가.

우리는 모두 협업 중인 상태입니다. 따라서 내가 기능을 작업하고 있을 때, 작업의 베이스가 되는 코드가 최신 상태가 아닐 수도 있음을 알아야합니다.

상황 예)

  1. 로컬저장소에서 feat/login 브랜치를 만든 뒤 로그인 기능을 구현중이다.
  2. 다른 팀원이 회원가입기능을 완성시켜서 upstream/develop 에 create pull request를 하고, 팀장이 최종적으로 merge했다.

이 상황이라면 지금 개발하고 있는 로그인기능은 회원가입기능이 없는 코드 위에서 작업하고 있는 것입니다. 따라서 내 로컬 저장소를 최신화할 필요가 있습니다.


Fetch origin을 누릅니다.


Choose a branch to mergo into :브랜치명 을 클릭합니다


그럼 current branch와 merge할 브랜치를 선택할 수 있습니다. upstream/develop 을 선택한 뒤 merge합니다.

pull request를 보내기 전에 꼭 꼭!! 코드를 최신화한 후에 보내는 걸 권장드립니다.

반응형

'Git' 카테고리의 다른 글

Git과 Git Desktop 개요  (0) 2019.11.15
[Git] 깃 전략.  (0) 2019.11.08
Github에 올라와 있는 프로젝트 가져오기.  (0) 2019.11.08