: 분산 버전 관리 시스템(Version control system, VCS) 즉 프로젝트 파일의 변경 사항을 추적하는 시스템. 이를 통해 프로젝트의 변경 사항을 기록, 특정 시점의 버전 코드으로 언제든 돌아갈 수 있음.
#버전 확인하기
git --version
#이름& 이메일 설정 - git에 본인 정보를 등록
git config --global user.name "이름"
git config --global user.email "이메일"
# 프로젝트 폴더 내에 숨겨진 .git 디렉토리 생성
git init
# 저장소 현재 상태 확인
git status
#특정 파일 추가 - staging area에 파일 추가
git add file.py
#전체 파일 추가
git add .
#커밋 남기기 - 짧은 내용으로
git commit -m "commit message"
#모든 커밋 내역 보기
git log
# 특정 커밋 시점의 코드로 되돌리고 싶다면,
git checkout <commit-hash>
.gitignore
파일을 프로젝트 폴더에 만들고, 그 안에 파일명을 나열하면 된다. 브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념이다. 각가의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에 여러 작업을 동시에 진행할 수 있다.
여러 명이서 동시에 작업을 할 때는 다른 사람의 영향을 주거나 받지 않도록, 먼저 메인 브랜치에서 자신의 작업 전용 브랜치를 만든다. 그리고 각자 작업을 진행한 후 작업이 끝난 사람은 메인 브랜치에 자신의 브랜치 변경 사항을 적용한다.
이렇게 작업을 진행할 시 독립적으로 작업을 수행할 수 있으며, 브랜치로 그 작업의기록을 중간 중간 남기게 되므로 문제가 발생했을 때 원인을 찾을 수 있다.
저장소를 처음 만들면, git은 바로 master이라는 브랜치를 만든다. 이때 새로운 저장소에 새로운 파일을 추가하거나 파일의 내용을 변경하여 내용을 커밋하면 이는 모두 master
라는 이름의 브랜치를 통해 처리할 수 있다.
master
가 또 다른 새로운 브랜치를 만들어서 선언(checkout)하지 않는 이상, 모든 작업은 master 브랜치에서 일어난다.
# 브랜치 생성하기
git branch <new-branch_name>
#브랜치 전환하기(이동하기)
git checkout <branch-name>
#브랜치 생성 동시에 생성된 브랜치로 이동하기
git checkout -b <new-branch-name>
#브랜치 병합하기
git merge <brance-name>
#브랜치 삭제하기
git branch -d <branch-name>
#모든 브랜치 확인
git branch
브랜치 전환할때, 원하는 브랜치로 이동하면 해당 브랜치 안에 있는 마지막 커밋 내용이 작업 트리에 펼처진다. 브랜치가 전환되었으므로 이후에 남기는 커밋은 전환한 브랜치에 추가된다. 즉 해당브랜치에만 영향을 주는 것. 그런 다음 다른 브랜치로 이동해 작업할 수 있으며 이전 브랜치의 변경사항 및 커밋에는 영향을 받지 않는다.
내가 만든 branch에서 push 하면 깃헙에서 확인하고, 후에 merge를 하고, 그후에 Pull을 해서 바뀐 main을 가져올 수 있다.
#주소가 origin이라는 이름을 가짐
git remote add origin 저장소 주소
git branch -M master
git push -u origin master
git push origin master
git clone <github-repo-link>