이번엔 Git과 Github에 대해 적어보려고 합니다!
Git은 VCS(분산 버전 관리 시스템
)중에 하나로 VCS란 동일한 정보에 대해 여러 버전을 관리할 수 있는 시스템을 말함
Git을 사용하는 이유는 프로젝트 변경 사항을 기록하거나 진행하다 무언가 잘못되었을 때 복구, 같은 프로젝트에 다수의 개발자가 참여할 경우 각자가 수정한 부분을 전체가 동기화 하는 과정을 자동화 하기 위해 등 여러 이유 때문에 필수적으로 사용해야 한다
코드를 추가, 수정하거나 삭제했을 때 문제가 생겼다면 이전에 문제 없는 버전으로 되돌려서 복구가 가능함
수정을 누가 한 건지 확인하고 문제가 생겼다면 코드에 대해 마지막 수정자가 잘 알 것이기 때문에 확인하여 문제를 효과적으로 해결할 수 있음
다수의 개발자가 각자가 수정한 부분을 전체가 동기화 하는 과정을 자동화가 가능
Git repository는 Git으로 관리하는 프로젝트 저장소이고 크게 두 가지 종류가 있다
Local repository
- 말 그대로 Local
. 본인의 컴퓨터에 저장된 로컬 버전의 프로젝트 저장소Remote repository
- Local repository
와는 달리 로컬 컴퓨터가 아닌 외부 (원격 서버)Local
버전의 Project와 병합 및 변경사항을 적용할 수 있음Github란 Git저장소 호스팅을 지원하는 사이트이며 Git을 사용한 프로젝트들의 저장소이다
무료 호스팅을 지원하며 Github는 개발자들의 Social Network으로도 사용된다
Git은 Text로 이루어진 반면 Github는 GUI를 지원하기 때문에 좀 더 직관적으로 버전 관리가 가능하다
git init
- .git
폴더가 생기며 현재 저장소에 대한 모든 변경사항을 추적 & 관리하게 됨
git status
- 어떤 파일이 변경되었는지, 어떤 파일이 추가되었는지 보여주고 해당 명령어를 통해 Git으로 관리되고 있지 않던 파일들이 있다면 해당 파일들을 staging area
로 추가해줄 수 있음
git add
- 파일을 staging area
로 추가해줄 수 있고 .
을 통해 project directory내에 모든 파일과 폴더를 staging area
에 추가할 수 있다.
git commit -m "Commit message"
- staging area
에 있는 파일들을 Commit 해줄 수 있음
git log
- 각 Commit에 대한 자세한 정보를 담고 있음
git checkout <commit-hash>
- 특정 Commit 시점의 코드로 돌아가고 싶을때 사용하며 git log
에 보이는 commit-hash
값을 넣으면 됨
git remote add <저장소 주소 대신 사용할 이름> <저장소 주소>
- Remote repository
에 연결시킬 때 사용
git push origin main
- remote repository
의 main
브랜치에 코드 업로드
Ref.
https://ko.wikipedia.org/wiki/%EB%B2%84%EC%A0%84_%EA%B4%80%EB%A6%AC
https://ko.wikipedia.org/wiki/%EA%B9%83%ED%97%88%EB%B8%8C
https://nanite.tistory.com/39