분산 버전관리 시스템!
여러 사람이 한 번에 코드를 관리하려면 어떻게 해야 할까?
→ 코드를 분산해서, 버전을 나눠 관리할 필요가 있다!
Git은 저장소(Repository)별로 관리됨!
중앙에 원격 저장소를 두고 이를 바탕으로 로컬 저장소를 여러 개 둠
Git도 소프트웨어의 일종이기 때문에 설치가 필요하다!
운영체제에 맞게 설치 (설치링크 : https://git-scm.com/book/ko/v2/시작하기-Git-설치 )
Git은 commit 단위로 진행됨
유저의 모든 작업사항을 저장하기엔 효율이 떨어지게 됨!
commit은 스냅샷 같은 것으로, 유저가 임의로 지금 저장해줘! 라고 하는 것을 commit한다 라고 생각하면 됨
로컬 저장소는 크게 3가지로 나뉨, 각 단계는 commit을 위한 진행단계로 보면 됨
Working Directory
git add
명령어를 통해 Staging Area로 넘겨줌Staging Area
git add
로 추가된 것들을 git commit
명령어를 통해 스냅샷을 찍어 다음 commit으로 넘긴다Repository
Git의 분산 기능을 수행!
코드의 흐름을 분산 - 가지치기!
코드를 짤 때, 버그나 새로운 기능 추가 등 이슈가 생길 수 있음
이 때 해당 코드를 가지치기에서 독립적인 공간에서 해당 이슈를 처리하고 main 코드는 계속 개발해 나가도록 관리할 수 있음
이후 나중에는 가지치기한 코드를 합쳐 최신 코드를 생성!
가장 대중적인 원격저장소 https://github.com
Git의 로컬저장소(혼자 개발할 때)에서 할 수 있는 일들을 다뤘으니 다른사람과의 협업을 해보자!
github에서 repository를 생성 → 원격 저장소 설명
git init
git status
git add <추가할 파일>
git add example.py
git commit -m <커밋 메시지>
git commit -m "add example.py"
git log
git branch <브랜치 이름>
git branch develop
git branch -v
git checkout <브랜치 이름>
git checkout develop
git merge <브랜치 이름>
git merge develop
git branch -d <브랜치 이름>
git branch -d develop
git remote add <별칭> <원격저장소 주소>
git remote add orgin github원격저장소링크
git remote -v
git push <remote_repo_name> <branch_name>
git push origin main
git branch -M <변경할 이름>
git branch -M main
git clone <원격저장소 주소> <해당 원격저장소 파일을 담을 폴더 이름, default 값: 해당 원격저장소 이름>
git clone github 원격저장소주소 programmers
Github 과제 제출 방법