1. Branch
기존 Master의 내용을 유지하면서 새로운 작업 영역을 여는 방법
각개 Branch를 파서 작업을 하면 해당 작업 사항은 master에 전혀 영향을 끼치지 않는다.
그렇기에 branch에서 원하는 기능을 개발하다가 완성이 되면 추후 merge 기능을 통해 master로 합치면 된다.
1-1. 현재 브랜치 확인
git branch
1-2. 새로운 브랜치 추가
git branch 브랜치명
1-3. 이동
git checkout 브랜치명
= git switch 브랜치명
1-4. 이름변경
git branch -m 기존브랜치명 새로운브랜치명
1-5. 삭제
git branch -d 브랜치명
2. Merge
병합은 main 브랜치에서 작업을 수행
main 브랜치로 이동 후, git merge 작업해준브랜치명 으로 작업한 내용을 main 브랜치에 합쳐준다.
3. Conflict
merge 하려고 할 때, main과 branch의 코드가 동일한 곳에서 다른 경우 발생한다
동일한 곳이 아닌 다른 곳에서 변경이 일어난다면 사용자가 편집한 것으로 판단하여 conflict가 발생하지 않는다.
동일한 곳이 코드가 다르면 컴퓨터 입장에서 어떤 코드가 맞는지 모르므로 해당 부분은 사용자가 직접 처리해줄 필요가 있다.
3-1. 현재 변경 사항 (Current Change)
main 브랜치의 코드 상황을 적용
3-2. 수신 변경 사항(Inciming Change)
합쳐주려는(css) 브랜치의 코드 상황을 적용
동일한 부분에서 서로 코드가 달라서 충돌이 발생했으므로 사용자가 어떤 코드를 사용할지 정해줄 수 있다.
-> 현재 변경 사항 수룩 / 수신 변경 사항 수락 / 두 변경 사항 모두 수락 / 변경 사항 비교 로 손쉽게 변경해줄 수 있다.
3-3. 두 변경 사항 모두 수락
두가지 모두 수락 가능
3-4. 변경 사항 비교 -> VSCode으로 확인 가능
충돌 해결 후, main 브랜치와 작업하던 브랜치를 둘다 add -> commit -> merge 를 해줘서 수정해준다.
4. 협업하기
조장 : 새로운 폴더를 만들고 git init 해준 뒤, github에 remote를 add해준다.
➡️ 팀원 : 해당 git code를 가져와서, 원하는 폴더로 이동하여 git clone code 로 repository를 복사해온다.
➡️ 조장 : 협업을 위한 권한 주기
clone은 아무나 가능하지만, push는 허용된 인원만 가능하므로, 권한을 줘야한다.
Repo 안 Settings에서 Collaborators에서 팀원들을 깃헙 이름으로 Add 한다. (권한 주기)
➡️ 팀원 : 권한 수락하기
깃헙 프로필 -> your organizations에서 초대를 수락(Join)할 수 있다.
Accept invitation 이면 완료
그런 다음 git push --all 로 받아준다.
➡️ 깃허브로 가면, compare & pull request 버튼을 누를지 뜬다. 이 버튼은 push 할 것인데 다른 팀원들에게 push한다고 알리는 버튼임
Reviewers 는 팀원들 모두를 추가
Assignees는 해당 코드의 merge 여부를 결정할 사람을 지정(팀장급)
*merge 룰은 reviewer의 승인 있어야 가능하게 등, 여러 옵션으로 지정할 수 있다.
➡️ 팀원들이 작업한 내용을 git push -all 과 compare & pull request로 올려지면,
각개의 로컬 레포에도 main 브랜치로 이동한 뒤, git pull -all 해주면 변경 사항이 적용된다.
5. 브랜치 보호하기
Settings -> Branches -> Add branch protection rule
Branch name pattern의 이름을 지어주고, Protect matching branches의 require a pull request before merging으로 브랜치 보호 설정을 해줄 수 있음
require approvals로 허가를 받아야할 인원을 설정해줄 수 있음
이제부터 push하고나면 다른 reviewer들의 승인이 있어야 push가 가능해진다.
6. pull requests
팀원이 push를 하면 팀장의 pull request에 목록이 올라가게되고, 올라간 요청을 누르면 Add your review 클릭 후
review changes를 Approve 하고 Submit review 해준다.
그다음 Merge pull request 후 Confirm merge 해주면 끝난다.
'학원에서 배운 것 > Git & GitHub & GitHub Desktop' 카테고리의 다른 글
KDT 5th 웹개발자 입문 수업 21일차 - 1 (0) | 2023.02.23 |
---|---|
KDT 5th 웹개발자 입문 수업 19일차 - 1 (0) | 2023.02.21 |
KDT 5th 웹개발자 입문 수업 7일차 - clone (0) | 2023.02.03 |
GitHub 프로필 꾸미기 2 (0) | 2023.01.29 |
Github 꾸미기 시작 (0) | 2023.01.28 |