2019.08.08 git으로 보는 소스 코드 관리
(TIL은 스스로 이해한 것을 바탕으로 정리한 것으로 오류가 있을 수 있습니다)
# 질문에 답하기
git
- ㅠㅠ.. 분명 며칠 전에 와 거이다 이해했다하고 글을 적었었는데… 그 사이에 또 굉장히 많은 것들을 알게 되어서 다시 정리한다.
- 그리고 이 글도.. 아마 며칠 뒤면 또 새로워질 것 같아서 걱정이 된다.
- git은 쉽지 않다.
전체적으로 보면 Origin과 Local이 있다.
- 일단 전체적인 것을 보는 것이 중요하다.
- 우리 회사에서는 소스코드 관리를 bitbucket으로 진행되고 있다.
- 그리고 그 bitbucket에도 origin master와 origin branch가 있다.
- 내가 이용하고 있는 로컬에도 local master와 local branch가 있다. 이것을 이해하지 못하면 계속 봐도 이해가 안된다.
그림으로 보는 git
- 기본적으로 local master의 경우 origin master를 pull해와서 생성한다.
- local에 해당 파일을 만들었다면 일차 목표는 성공했다.
- 이제 작업을 하기 위한 과정들을 하나씩 살펴보자
local에서 작업하기
- local에서 작업하기 위해서는 branch를 따주어야 한다.
- 그 명령어는 git branch [브랜치명]이다.
- 보통은 그 이슈가 주어진 명과 비슷하게 따면 좋다.
- 그 다음에는 git checkout [브랜치명]을 통해 해당 브랜치로 이동한다.
- 해당 브랜치에서 이동을 한 이후에 작업을 진행 해주면 된다.
- 작업 도중에 다른 브랜치로 이동하려면 git add 와 git commit을 통해 local에 저장을 시켜줘야 한다.
local에서 작업이 끝난 이후
- 다시 local master브랜치로 이동을 한다.
- 먼저 git add와 git commit이 되어야 한다.
- local master로 이동한 이후에 git status를 확인해보면 그동안 origin master에서 쌓인 다른 작업들을 확인할 수 있다.
- 일단 그 local master와 origin master를 하나로 합쳐 주어야 한다.
- local master에서 git pull origin master명령어 실행
- 그러면 local master와 origin master가 같아진다.
- 이후에 다시 해당 브랜치로 이동한다.
- git checkout [브랜치명]
해당 브랜치에서 rebase해주기
- rebase를 통해서 그 동안 master에서 올라왔던 commit들과 현재 내가 branch에서 했던 commit들을 다시 잘 정렬해준다.
- rebase 혹은 merge를 해줘도 된다.
- 근데 merge에 대해서는 다시 한번 생각해봐야 되겠다.
해당 브랜치에서 origin branch로 push 해주기
- 해당 브랜치에서 git push를 해주면 origin branch로 올라가게 된다.
- 올리기 전에 git status를 해보고 여러개의 commit들이 꼬여있다고 하면 git push -f를 해주면 된다.
- 하지만 아마 보통 origin에서 브랜치가 없을 예정이다.
- 그러면 밑과 같은 경고 메시지가 나온다.
- 해당 문구는 origin에 브랜치가 없다는 말로, origin에 올리면서 해당 브랜치도 함께 만들겠다는 명령어이다.
- 위에 내와 있는 git push –set -upstream origin [브랜치명]을 입력해주면 된다.
origin branch에서 origin master로 pull request 보내주기
- 이때는 source tree를 사용하여 origin master로 pull request를 보내준다.
- 아마 회사마다 사용하는 툴이 있을 것이므로 위 과정을 실행해주면 된다.
- 이제 이때부터 origin master에 merge되기 위해 코드리뷰 등이 시작된다.
- pull request 좀 받아주세용 ㅠㅠ.