ref : fast campus
- 버전을 따로 관리하거나, '나는 A를 작업할테니까 너는 B를 작업해' 그리고 합치자. 이럴 때 branch 를 따로 둬서 작업 한 뒤, merge 한다.
- main 브랜치에 feature/refactoring 이라는 브랜치를 뻗어서 코드 유지보수 작업을하고, 다시 그 둘을 merge 하는 과정
- 터미널 명령어 정리
git checkout -b feature/refactoring
feature/refactoring 이라는 branch 를 새로 생성한다.
git checkout main
터미널에서 현재 위치를 main branch 로 이동한다.
branch 나눠서 코드 수정후 커밋하는 방법
- git checkout feature/refactoring
수정할 브랜치로 터미널 이동. 현재 브랜치 확인은 git branch.
- Xcode 에서 코드 수정 작업을 함
- git status 로 수정된 점 확인해보기
- 거기서 예를들어, modified: Project/Source/ViewController.swift 이런식으로 되어있다면, 경로를 복사해서 git diff Project/Source/ViewController.swift 를 입력하면 엄청 알기 쉽고 자세하게 보여준다. 근데 이거 vim 기반이라서 스크롤 하면 안움직이고, F 를 누르면 다음 페이지로 넘어감. 대문자 ZZ 두번 입력하면 나갈 수 있음.
- 수정이 잘 된걸 확인 했다면 커밋 준비를 위한 add 해준다.
git add -p 로 하면 파일 내부에서 코드 하나하나 살펴보면서 add 할 수 있다. y 를 눌러서 yes 할 수 있다.
- git commit -m “이러이러한거 리팩토링합니다.”
- git log 로 커밋 로그를 살펴본다.
- 최종 푸시. 그런데, 현재 아직 원격 깃허브에는 feature/refactoring 브랜치가 없다. 그래서 브랜치 자체와 함께 푸시해야한다.
-> git push origin feature/refactoring
- 이제 main 브랜치와 feature/refactoring 브랜치를 병합 시켜야 한다. 깃허브에서 Pull request 버튼을 누른다. 협업에서 이 과정이 승인되면 Merge 과정이 이뤄진다.
- 브랜치 작업 후 병합까지 성공적으로 이뤄지면, 일반적으로 그 브랜치는 삭제해주는 경우가 많다.