Git : 코드의 변경점 기록(버전 관리 도구)
Github : 온라인 백업, 공유, 협업(온라인 코드 저장소)
Git 필수 명령어 리스트
git init : 코드 관리를 시작하는 명령어
- 프로젝트 시작 전 한 번만 입력(프로젝트 당)
- 정확한 프로젝트 폴더(경로)에서 입력해야 함
- .git이라는 폴더(숨겨진 폴더)가 생성됨(ls -a 명령어로 확인 가능)
git add
- git add <파일명> : 저장할 파일을 지정
- git add . : 모든 변경된 사항(파일들)을 지정
git commit
- git commit -m “메시지 작성” : 실제로 파일 저장
- commit 메시지는 내가 무슨 코드를 작성했는지 자세히 작성하는 게 좋음
Please tell me who are you 뜨는 경우(계정 설정 필요)
- git config --global user.name <유저네임>
- git config --global user.email <유저이메일>
git status
- 파일 저장 여부를 확인하는 명령어
- modified: <파일명> : 코드의 변경은 있지만 저장을 하지 않은 파일
- nothing to commit : 더 이상 저장할 파일이 없음
git log
- 저장 내역을 확인하는 명령어
- commit 내역들이 출력됨
- 커밋 메시지로 코드 변경점 추측 가능
- git diff 코드 변경 확인
- git reset 과거로 돌아가기 가능
- q로 빠져 나오기 가능
Github으로 코드 백업하기
git remote add origin <git repo link>
- git repo link를 origin이라는 이름으로 저장
- git push origin 브랜치명(ex: main)
git branch -M main
- 기본 브랜치 : master
- 현재 브랜치명(master)을 main으로 변경
git push -u origin main
-u 의 의미 : git push origin main를 git push 명령어만 입력해서 git push origin main와 같이 처리
git push
- 추가로 수정된 코드를 github에 반영하는 명령어
- git push origin <브랜치명>
Git으로 협업하기
협력자 등록
- Git repo → Settings → Collaborators → Add people
- 팀원들의 username 혹은 email로 추가(팀원이 초대를 수락해야 함)
git clone
- git clone <복사할 git repo link> .
- 마지막 .의 의미 : 현재 폴더에 clone
- .을 입력하지 않으면, 하위 폴더가 생성되며 해당 폴더에 코드가 복사됨
git pull
- 다른 사람이 변경한 코드를 내 코드에 가져오기
- 코드 수정 후 git pull을 먼저 하라는 에러 발생 시 git pull origin <브랜치명>
- git pull 시 아래와 같은 경고문이 뜨면 git config pull.rebase false
- "You have divergent branches and need to specify how to reconcile them."
Git 충돌이 발생하는 이유
- 같은 파일의 같은 위치에 코드가 변경되었기 때문
- Current Change : 현재 변경한 코드
- Incoming Change : pull하면서 가져온 코드
충돌(Conflict) 해결하기
- <<<<HEAD 삭제
- ========= 삭제
- >>>>xxxx… 삭제
- 원하는 코드로 수정
- git add <파일명>
- git commit -m “commit message”
- git push origin <브랜치명>
'Tip' 카테고리의 다른 글
LeetCode - Git Repo 연동 (0) | 2024.05.22 |
---|---|
[PostgreSQL] Supabase 설정 (0) | 2024.05.07 |
Git & GitHub - 브랜치를 활용하여 협업하기 (0) | 2024.05.03 |