안녕하세요, GDGoC Hongik Organizer 이혁입니다.
프로젝트 트랙에서 과제를 어떻게 제출해야 하는가에 대한 내용을 정리해봤어요! 아직 GitHub 사용이 익숙하지 않은 분들은 아래 절차를 하나하나 따라서 진행해주세요.
Git, GitHub 기본 세팅
Git과 GitHub는 왜 사용하는 건가요?
Git은 파일의 변경 사항을 기록하는 용도로 사용하고, GitHub는 Git을 통해 기록된 내용과 더불어 파일을 업로드하고 공유할 수 있는 사이트예요.
개발자들 사이에서 파일을 계속 메신저나 이메일로 주고 받기에는 한계도 있고 동시에 작업할 수 없기에, GitHub를 통해 파일을 공유하여 협업할 수 있는 환경을 만들어놓았어요.
Git은 어떻게 설치하고, GitHub 회원가입은 어떻게 하나요?
Git 공식 사이트에서 Git 설치 마법사를 따라 본인의 로컬 컴퓨터에 설치해주세요. 설치가 완료되면, 터미널에 아래 명령어를 입력하여 본인이 사용자임을 알 수 있도록 해주세요.
git config --global user.name "GitHub 핸들명"
git config --global user.email "GitHub 이메일"
Bash
복사
꼭 현재 가입되어 있는 이름과 이메일로 설정해야 추후 파일을 올릴 때 문제가 생기지 않으니 참고해주세요! 회원가입은 GDGoC 정회원이라면 모두 되어있을 거예요.
프로젝트 트랙 과제 제출 방법
프로젝트 트랙에서 과제를 제출하기 위해서는, 과제 레포지토리를 본인의 프로필로 가져와야 해요.
Fork를 통해 레포지토리를 가져오자.
과제 레포지토리에 들어가면 우측 상단, Fork라고 적힌 버튼이 있어요. 해당 버튼을 통해 아래처럼 본인 레포지토리로 가져와서 코드를 이용할 수 있어요.
Fork한 레포지토리를 VS Code에서 열어보자.
본인 레포지토리에 돌아와서, Code 버튼을 누르면 뜨는 링크를 복사해요. 이후 바탕화면에 폴더를 새로 만들고, 해당 폴더로 VS Code를 실행시켜요.
이후, control/command + J 를 통해 새 터미널을 열어주고, 터미널에서 아래와 같은 명령어를 이용한다면 레포지토리에 있던 파일을 가져올 수 있어요. 마지막 . 까지 확실하게 입력해주세요!
git clone "복사한 레포지토리 링크" .
Bash
복사
잠깐! 혹시 VS Code에 GitHub 로그인이 되었나요?
만약 Clone이나 Push 과정에서 문제가 생길 경우, 본인 GitHub 계정으로 VS Code가 잘 로그인 되어있는지 확인해주세요. Git은 어떻게 설치하고, GitHub 회원가입은 어떻게 하나요? 에서 설정을 마무리하셨다면 초기에 로그인 화면이 뜰 거예요!
본인 이름으로 Branch를 파고, 작업을 진행하자.
이제 바로 작업을 시작할 수도 있지만, 과제를 제출하기 위해서는 본인 이름의 Branch를 만들어서 작업해야 해요. 모두 같은 공간에서 작업하면 작업 내용이 겹칠 수가 있겠죠?
아래와 같은 명령어를 통해 본인 이름의 Branch를 만들고, 바로 본인 Branch로 이동하여 작업할 수 있어요. 본인 이름 Branch로 이동됐을 경우 좌측 하단에 변경됐다는 내용을 확인 할 수 있어요.
git checkout -b "본인 GitHub 아이디"
Bash
복사
Branch 이름을 꼭 본인 아이디로 해야하나요?
GitHub 아이디로 Branch 이름을 적는 이유는 브랜치명이 겹치지 않기 위한 수단일 뿐이에요. 추후 프로젝트를 진행할 경우 작업 내용 단위로 브랜치명을 정하는 등 팀원들과 컨벤션을 정해서 작업할 수 있어요!
작업 단위로 Commit을 남기고, Push하자.
이제 파일을 수정하고 저장할 때마다, 좌측 Git 아이콘에 표시가 뜰 거예요. 해당 표시는 파일이 변경되었다는 알림으로, GitHub에는 변경 사항 단위로 업로드할 수 있어요.
작업을 할 때마다 변경 사항을 기록하는 것을 Commit 이라고 해요. Commit은 아래의 절차로 진행할 수 있어요.
1.
CLI 방식
git add .
# 현재까지의 변경 사항을 스테이지에 올려놓음.
git commit -m "Commit 메세지"
# Commit 메세지와 함께 스테이지에 있던 변경 사항을 저장함.
git push origin "Branch 이름 (본인 GitHub 아이디)"
# 본인이 Fork해서 가져온 GitHub 레포지토리에 변경 사항을 올려요.
Bash
복사
2.
VS Code GUI 방식
[변경 내용 동기화] 버튼을 통해 Fork해서 가져온 Github 레포지토리에 변경 사항을 올릴 수 있어요.
Push한 내용을 레포지토리에 PR을 올리자.
Push까지 마무리하면, 본인이 Fork해 온 레포지토리에 Pull Request할 수 있는 버튼이 생겨요. 바로 이 Pull Request를 줄여서 PR이라고 부르는데, 이를 통해 본인이 변경한 내역을 과제 레포지토리에 보낼 수 있어요.
PR 제목을 어떻게 적어야 할까요?
누가 어떤 트랙의 과제를 제출했는지 확인하기 위해서, 아래와 같은 형식을 꼭 지켜주세요.
[”본인 아이디”] “본인 트랙” N주차 미션 제출합니다.
Create Pull Request 버튼을 누르고 아래와 같이 뜨면 성공입니다! 추후 운영진이나 다른 팀원들끼리 아래에 코멘트 남기면서 서로가 정리한 내용, 코드를 공유하는 시간을 가져봐요.
과제 레포지토리가 수정되었을 때 대처법
미션 레포지토리가 매주 새로 생기는 것이 아닌, 한 레포지토리에서 계속 업데이트되는 방식의 경우에는 Fork해 온 레포지토리에서는 변경 내용이 바로바로 적용이 안되기 때문에 맞춰주는 작업이 필요해요.
main 브랜치에서 Sync Fork를 누르고, Update Branch를 하여 미션 레포지토리와 Fork해 온 레포지토리가 일치하도록 해줘야 해요.
이후 기존에 이용하던 폴더에서 아래 순서로 명령어를 입력해주어야 해요.
git checkout main
# 현재 본인 이름으로 된 Branch라면 main으로 이동해요.
git pull
# 본인 로컬 레포지토리는 Fork해 온 레포지토리보다 이전 버전이므로 파일을 가져와야해요.
Bash
복사
마지막으로 git checkout “본인 이름 Branch”를 통해 본인 브랜치로 넘어가서 본인 이름 브랜치에 main 브랜치를 병합해주면 완료됩니다. 이 과정에서 git merge를 이용할 수도 있고, git rebase를 이용할 수도 있으나 약간의 병합 충돌이 생길 가능성이 존재해요.
문제가 발생했을 때는 당황하지 말고 운영진을 불러주시거나, 머지 충돌 해결하듯이 다루면 문제없이 이용할 수 있어요.