안녕하세요 깃허브 스터디 1팀입니다.
두번째 이론 공부 회고록 입니다.
Chapter - 1
만약 내 local 에서 chanTest 2 라는 branch 를 만들고 작업을 하다가 해당 chanTest2 branch 에서
push 를 했다고 가정해보자. 그러면 이렇게 밑에처럼 오류가 생긴다.
이유는 바로 원격 저장소에 해당 branch 이름이 없기 때문이다.
원격 저장소에 똑같은 해당 원격 branch 가 없기 때문에 어디에다가 push 를 해야 할 지 모르기 때문에 git 에서
알려주는 것이다. 따라서 git 에서 알려주는 git push —set-upstream origin chanTest2 를 해주면
원격 저장소에 chanTest2 라는 이름의 branch 가 생성이 되고 똑같이 push 해 주면 된다.
Chapter - 2
master branch : 최종적인 완벽한 코드
develop branch : 개발자가 자유롭게 개발하는 브랜치
브랜치를 생성하고 초대를 해준뒤에 작업을 할 때
보통 master branch 가 main 으로 쓰이며 최종적으로 최대한 완벽한 코드가 올라가 합니다.
협업할 때 개발자들은 develop branch 를 하나 만들어서 거기다가 개발을 하며 최종적으로 PR 을 거쳐서
개발이 끝났을 때 master branch 로 이동시켜 주면 됩니다.
만약 내 local 에서 git checkout develop 을 만들고 해당 branch 로 이동 후 push 를 했을 경우
밑에 처럼 나온다.
여기서 git push —set-upstream origin develop 이라고 나오는데 다음 git 코드에 저렇게 써 주어야
원격 브랜치에 develop 을 만들고 그 develop 원격 브랜치에 넣을 수 있기 때문이다.
master branch 보호 하기
밑에 이미지를 보면 마스터 브랜치를 보호해줘야 한다고 나온다.
이유는 master branch 에 함부로 코드를 push 하고 수정할 수 없게 막아줘야 해서 그렇습니다.
Protect this branch 를 클릭하면
Lock branch 랑 Require a pull request before merging 이 제일 중요하다.
project 할 때
만약 내가 팀원이라면 팀장이 깃 프로젝트를 만들어서 초대했다고 가정합시다.
그때 해야 하는 작업들 입니다.
git 에서 Projects 부분으로 들어가면 저렇게 Link a project 라는게 나온다.
저걸 클릭해주고 Create New project 를 하면 밑에 사진 처럼 할일 하고있는일 다한 일을 내가 만들고
관리 해 줄 수 있다.
- 만약 다른 사람의 일을 도와주어야 한다면 이러한 과정은 생략하고 기존에 있던 Project 에 들어가서밑에 사진에서 역할을 하나 책임지고 개발 하시면 됩니다.
위에 Add item 을 눌러서 내가 하는 작업들을 만들고 그 작업을 클릭하면 밑에 사진처럼 나온다.
이 부분에서 우측 하단에 Convert to issue 를 누르면
밑에 사진처럼 나오는데 comment 는 내가 작업하면서 뭐 말해야 될 것들을 적어 넣고
여기서 chanTest 를 눌러주면 밑에 사진처럼 나오는데 가장 중요한 부분이 우측 하단에 Create a branch 이다.
해당 Create a branch 를 클릭하면 밑에 사진처럼 나오는데 여기서 Change branch source 를 눌러서
아까 말했던 develop branch 를 기준으로 해서 만들어 주면 된다.
develop branch 를 기준으로 만든 이유는 해당 develop branch 가 가장 최신일 확률이 크기 때문이다.
이렇게 하고 만들어 주면 밑에 사진처럼 나오는데 그대로 내 프로젝트에 넣어주면
작업 준비가 끝난다.
개발을 완료했다면?
위에 과정을 거치고 chantest branch 로 작업을 하다 git add . → git commit -m “작업 완료” → git push
하고 난 뒤에 develop 으로 PR 해야 할때의 과정입니다.
작업을 완료하고 보면 이렇게 Compare & pull request 라는 부분이 나옵니다.
이게 바로 PR 입니다. 이러한 PR 은 다른 팀원이나 팀장한테 코드를 리뷰 받고 승인을 받는 과정이 포함되어 있습니다.
Compare & pull request 를 누르면 밑에 사진처럼 title , description 부분이 나옵니다.
여기다 써야 할 부분은 어떤 제목으로 하고 어떤 코드를 만들었는지 설명해 주시면 됩니다.
위에 사진에서 Create pull request 버튼을 누르면 밑에 사진처럼 나옵니다.
Merge pull request 는 최종적으로 모든게 완벽했을때 develop 브랜치로 push 하는 버튼입니다.
여기서 Files changed 부분을 클릭하면 어떤 부분을 작업했는지 볼 수 있으며
+ 버튼을 누르면 코드 리뷰도 할 수 있습니다.
Start a review 버튼을 누르면 밑에 사진처럼 comment 를 남길 수 있습니다.
Finish your review 를 누르게 되면 Comment , Approve, Request changes 가 나오는데
Comment 는 내가 말하고 싶은 부분을 등록하면 되고, Approve 는 다른 팀원들이 코드 허락하는 부분이며,
Request changes 는 코드가 잘못돼서 수정해야 한다고 알려주는 부분입니다.
그럼 최종적으로 밑에 사진처럼 변경이 됩니다.
만약 다른 팀원이 approve 를 해줬으면 밑에 사진처럼 나옵니다.
그리고 Merge pull request 해주면 작업이 끝이 납니다.
그리고 작업이 끝나면 내가 작업했던 projects 부분이 자동적으로 Done 으로 바뀌게 됩니다.
Chapter - 3
충돌했을 때
만약 develop 에 <p>작업 - 1</p> 을 내가 chan branch 로 작업을 하고 있던 중에
다른 사람이 develop 에 <p>작업 - 1</p> 을 <p>작업 - 2</p> 라고 바꿔서 먼저 PR 했다고 가정해보자.
그럴때 내가 chan branch 로 <p>작업 - 1</p> 을 <p>작업 - 3</p> 라고 바꿔서 PR 하면 충돌 오류가 생긴다.
그 이유는 git 에서는 develop 의 <p>작업 - 1</p> 을 <p>작업 - 2</p> 라고 바꿔 놨는데
<p>작업 - 1</p> 을 <p>작업 - 3</p> 라고 바꾼 작업을 PR 할 때 그 부분이 지금 develop 이랑 다르기 때문에
충돌 오류를 발생해 주기 때문이다.
git pull origin develop
git checkout chan
git merge develop
// 충돌한 부분을 해결
git add . -> git commit -m "충돌 해결" -> git push
'Study > Git 스터디' 카테고리의 다른 글
GitHub에 작업한 파일 업로드 하는 법 (0) | 2024.01.31 |
---|---|
프로젝트 참여를 위한 기본적인 git & gitHub 사용법 (0) | 2024.01.27 |
Git 기초 정리 (1) | 2024.01.26 |
Git 전략과 그에따른 고찰 (1) | 2024.01.24 |