git commit, push
git에 코드를 올리기 위해서는 commit을 작성하고 push를 해줘야한다.
commit을 일종의 메시지로 해당 코드에 대한 설명을 작성하면 되고 push는 git에 commit 메시지와 함께 내 코드를 올리는 작업이다.
push를 하는 방법은 다양하지만 나는 cmd를 이용한 push와 Intellij를 이용한 commit을 주로 사용한다.
cmd로 commit & push
**IntelliJ에서 git에 올리기 싫은 파일은 미리 gitIgnore에 추가 해주고 진행**
1. cmd 접속
2. push 하고싶은 프로젝트 파일 경로로 이동
cd {project파일 경로}
경로를 찾는 방법은 project가 생성되는 폴더에서 올리고 싶은 프로젝트 > 상단에서 주소 복사
2. push 하고싶은 폴더 선택
git add .
add 뒤에 push 하고싶은 클래스 명을 적어주면 된다.
. 을 입력하면 업데이트된 모든 class를 push한다는 의미다.
3. commit 메시지 작성
git commit -m "커밋 할 메시지 입력"
4. push
git push -u origin main
main에 push를 한다는 의미이다.
git에 push를 하기 위해서는 위처럼 경로가 중요한데, 특별한 경우를 제외하고 혼자 프로젝트를 진행함다면 main에 프로젝트를 올려주면 된다.
Intellij에서 commit & push
1. VCS > Share Project on GitHub
2. Repository name 지정
3. push 할 class 선택 및 커밋 메시지 작성
4. Ctrl + Shift + A > remote 검색 > Manage Remotes
5. 수정 > gitlab에서 repository > clone > https 주소 복사 > 붙여넣기
6. Ctrl + k > push 할 class를 +로 Stages에 올리고 > 커밋 메시지 입력 > commit
7. Ctrl + Shift + k > push
Git branch
협업을 한다면 branch를 필수로 사용 할 것이다. branch는 말 그대로 나뭇가지 처럼 뻣어나가는 remote repository로 이해하면 편하다. main이 기존 프로젝트의 완성이라면 branch는 main에 넣기 전 코드들을 올리는 곳이다.
1. 오른쪽 아래 master > new branch
2. branch명 입력('/'로 하위폴더 구분 가능)
3. 브랜치 생성 확인
4. 왼쪽 아래 git > git 이력 확인
Git Merge
위 과정이 끝나면 branch에 생성이 끝난 것이다. Ctrl + k를 눌러서 커밋을 하고 gitlab에 접속하면 merge request를 할 수 있다.
merge request는 merge를 해달라고 요청을 하는 것이며 merge를 하면 내가 작성한 코드가 메인 코드로 병합된다.
merge는 보통 PM이나 CTO가 담당하며 1명이 담당해서 merge를 진행한다.
1. branch 생성 후 commit
2. gitlab에 접속 > merge request
commit이 잘 되었다면 상단에 merge request라는 버튼이 뜬다.
3. merge request 클릭
commit 메시지가 입력되어 있지만 추가로 작성하고 싶은 메시지를 작성해도 된다.
작성 후 merge request를 클릭하면 요청이 들어가고 merge를 담당하는 사람이 코드를 정리해서 main과 branch를 merge하면 끝!
Git pull
pull은 덮어쓰기 개념이다. main에 작성된 코드를 계속해서 업데이트 해주기 위해서 pull을 사용한다.
협업을 진행했을 때 흐름은 이렇다.
1. 팀원이 공통으로 사용 할 main을 작성 후 push
2. 작성된 main을 pull
3. 본인 파트 코드 작성 후 branch 생성해서 commit & push
4. main을 pull
5. 바로 commit & push
6. merge request
--------------------------
7. main pull
8. 본인 파트 코드 작성 후 branch 생성해서 commit & push
9. main을 pull
10. 바로 commit & push
11. gerge request
.
.
.
pull을 하는 방법은 인텔리제이 상단 git > pull > main으로 변경해서 pull을 받아올 수 있다.
현재 우리 팀은 위와같은 흐름으로 협업툴을 만지고 있는데, 아직도 언제 pull을 해줘야하는지 헷갈리는 상태다. 아직까지는 위처럼 진행했을 때 코드에 충돌은 발생하지 않아서 일단 하고는 있지만 pull을 여러번 해줘야하기 때문에 귀찮음이 있다. 아무래도 더 나은 방법이 있을 거 같은데 그건 이번주에 계속 고민하기로 했다.
'Project > Team Project' 카테고리의 다른 글
[Git] 팀프로젝트 깃 충돌 해결하기 (0) | 2023.02.14 |
---|---|
[Git] 팀프로젝트 GitLab 협업하기(local, remote main, branch) (0) | 2023.02.14 |
AWS S3에 이미지, 파일 업로드 로직 구현하기 (0) | 2023.02.07 |