git, github의 개념과, git의 전반적인 사용법은 아래 링크 참고
Git & Github
git init
git으로 관리할 프로젝트의 프로젝트 폴더(manage.py가 있는 곳)로 이동 후 git init 입력
git init을 명령한 위치로부터 모든 디렉토리와 파일들이 git의 관리(추적)대상이 됨
프로젝트 폴더 내에 숨겨진 .git 디렉토리를 생성, git 초기화
git의 관리를 취소하고 싶을 경우 .git 디렉토리를 삭제하면 됨
.gitignore
파일을 생성하여 git의 관리(추적) 대상에서 제외할 요소(기밀사항)들 등록
.gitignore
파일 구성cd '프로젝트 폴더명'
touch .gitignore
vi .gitignore
############################
# gitignore.io에서 나온 결과 요소들 전체 붙여넣기 #
############################
manage.py가 있는 위치에 생성
https://www.toptal.com/developers/gitignore에서 사용하는 환경에 해당하는 키워드를 선택하면, 자동으로 .gitignore
파일에 정의할 요소들을 생성해줌
정의된 요소들을 복사하여 .gitignore
파일에 붙여넣기
가장 하단에 my_settings.py 추가(보안 관련 파일은 github에 업로드되면 안되기 때문)
git add .
git commit -m "Add: Django Project Setting"
git remote add origin Git을연결할Githubrepository의url주소
git을 연결할 url을 remote(원격 저장소)의 origin이라는 곳에 등록
git branch -m master main
master branch의 이름을 main으로 변경
git push origin branch명
로컬 git의 branch를 origin에 올리기
Github 사용자명과 Github 토큰 입력(https://velog.io/@jini_eun/Github-2021%EB%85%84-8%EC%9B%94-13%EC%9D%BC%EB%B6%80%ED%84%B0-%ED%86%A0%ED%81%B0-%EC%9D%B8%EC%A6%9D-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EB%B3%80%ED%99%94)
main이 아닌 새로운 branch를 생성하여 앱을 등록
git branch 브랜치 이름
git checkout 브랜치 이름
# 생성과 동시에 이동하는 방법
git checkout -b 브랜치 이름
반드시 main 브랜치에서 새 브랜치를 생성해야 함
git pull origin main
main 브랜치로 한 번, 새로 만든 브랜치로 한 번 pull
위와 동일
git pull origin main
main 브랜치로 한 번, 새로 만든 브랜치로 한 번 pull
push 전에 최신버전의 main을 pull 받아야 conflict를 최소화할 수 있음
git add .
git commit -m "Add: products application"
git push origin 브랜치이름
깃허브에서 compare 가능(합쳐도 되는 코드인지 아닌지 판단할 때 사용)
Github에서 pull request
버튼을 누른 뒤 PR의 제목과 내용(description) 작성 -> create pull request
버튼으로 PR 생성 완료
라벨링을 통해 원하는 사람들을 리뷰어에 추가할 수있음
작업을 마친 branch를 push하고, branch가 main branch에 적용될 준비가 되었다면, Pull Request를 통해 프로젝트 오너(혹은 팀 리더)에게 내가 작업한 branch의 작업내용을 main 브랜치에 반영해달라고 요청할 수 있음
Pull Request에서는 해당 repository를 열람할 수 있는 권한이 있는 개발자들이 작업내용에 대한 리뷰를 해주거나, 변경 사항을 확인할 수 있음
--> 수정 사항을 받을 경우: 수정하여 다시 push하고 PR 내용을 수정 내용에 맞게 변경한 후, PR 라벨링을 변경
--> 수정 사항이 없을 경우: 관리자가 내가 push한 내용을 main에 merge해줌
PR 생성 --> 함께 협업하는 개발자들이 방금 만든 PR을 리뷰, 분석하고 댓글 --> 리뷰 내용 반영 --> main 브랜치와 충돌이 발생하는지 확인 --> 해당 PR을 main 브랜치로 merge
만약 main branch와 충돌이 발생할 경우 개발자가 직접 코드들을 비교해 충돌을 해결하고 merge해야 함
Github의 main branch 내용이 변경된 후, 변경된 최신버전 main branch를 내 로컬 repositry에 업데이트(pull) 받아야 함
git pull
명령어를 통해 remote의 최신화된 코드를 내 로컬 repository에 반영
내가 만든 코드를 push한 이후 다시 pull해야 하는 이유: 내 코드가 올라가서 main이 새로운 버전이 되므로 내 로컬 main을 업데이트해야하기 때문
git pull origin main
프로젝트를 시작할 디렉토리로 이동 후
git clone "위에서 복사한 github 주소" . # 현재 위치에 디렉토리 생성
혹은
git clone "위에서 복사한 github 주소" # 현재 위치/디렉토리명 안에 디렉토리 생성
위와 동일
--> 괜찮으면 merge하고 "LGTM" 댓글 달기