보라코딩
Day117_230615_Git 팀프로젝트 공부 본문
A가 초기프로젝트 셋팅한다 ( pom.xml 등)
git init
git add .
git commit -m 'TASTEMATE 시작'
git remote add origin 주소주소
git push origin master
나머지 팀원들은 초기설정된 파일을 가져온다.
git clone시 remote repository가 등록됨
git clone 주소주소
각자 branch 생성하여 작업한다.
git branch A.
git branch B
git branch C
기능을 끝낼때마다 자신의 branch에 push
병합 필요시에만 master branch에 merge
주기적으로 해야 merge conflict 발생시 쉽다.
// B가 먼저 끝냈다고 가정
git add .
git commit -m '무슨 기능 구현 완료'
git checkout master
git merge B
git push origin master
B가 GitHub의 master 브랜치에 push 하기 전에 !!!
자신의 local repository에 있는 master 브랜치에 B를 merge 한다.
본인의 local master branch는 최신코드를 push하고 pull하는 용도로만 사용한다.
master 브랜치는 local이든 remote든 관리만 한다.
B가 기능 구현 끝냈기 때문에
A와 C는 B가 push한 최신 작업본을 사용하고자
GitHub에서 master 브랜치를 pull 한다.
A와 C는 pull할때 master 브랜치로 이동한 후, pull 한다.
항상 branch 이동 시에는 commit하고 해야한다.
git checkout master
git pull origin master
최신버전을 가져왔으면
자신의 작업본에 반영한다!
git checkout A
git mege master
이때 충돌 발생할 수 있으며 상의하면 좋다.
충돌시 Head는 A의 영역을 의미한다
(현재 checkout A한 상태이니까)
이렇게 push와 pull을 수행하며 작업한다.
이전으로 돌아갈때는 reset, revert 둘 중 하나를 사용하는데
push하여 GitHub에 올라간 상태라면 revert 만 사용 가능하다.
git revert commit번호(1d9133f이런거)
'코딩 > Spring' 카테고리의 다른 글
TASTEMATE 시연 시나리오 (0) | 2023.06.16 |
---|---|
이쁘고 쉬운 alert창 사용하자! SweatAlert (0) | 2023.06.15 |
스프링부트 ajax 값 받아와서 결제내역 있으면 예약하기 버튼 눌리지 않게! (0) | 2023.06.15 |
form 형식일때 modal 사용하기 (0) | 2023.06.14 |
클라우드로 공용 DB 만들기 (0) | 2023.06.14 |