<Git 이란?>
버전 관리 시스템 중 하나이다. 수정 사항이나 업데이트 사항 등을 바로바로 반영할 수 있도록 하는 시스템을 말한다.
<Git의 장단점>
장점 :
- 쉬운 버전 관리가 가능하다.
- 협업을 하기 좋다. 여러 브랜치를 형성해 작업한 뒤, 마지막에 합치는 방식을 통해 효율적인 작업이 가능하다.
- 중앙 서버가 필요 없다. 인터넷이 안 되는 상황에서도 작업이 가능하며, 저장소가 날아가도 쉽게 복구가 가능하다.
단점 :
- git은 명령어 기반이기 때문에 처음 배울 때 어려울 수 있다.
- 다른 사용자가 동시에 같은 파일을 수정하면 충돌이 발생할 수 있고, 해결하기가 까다롭다.
<GitHub란?>
Git저장소를 호스팅 하고 다른 사용자와의 협업을 용이하게 하는 웹 기반 호스팅 서비스이다.
<GitHub의 기능>
1. Repository : 소스 코드들이 저장되어 있는 물리적인 공간 (저장소)
2. Working Tree : 우리가 흔히 사용하는 폴더
3. Commit : 작업 후 저장소에 남기는 과정
4. Branch : commit 단위로 구분된 소스 코드 타임라인에서 분기해 새로운 commit을 쌓을 수 있는 독립적인 공간
5. Merge : 브랜치와 브랜치의 내용을 합치는 작업
<Git의 명령어>
git init : 깃 초기화. 이후에 추가적인 명령어들을 통해 작업할 수 있다.
git add : 커밋에 파일의 변경 사항을 포함하도록 한다.
git commit : 커밋을 생성하고 변경사항을 확정하여 반영한다.
git clone : 기존 소스 코드 다운로드 및 복제. 원격 저장소의 저장소를 로컬에서 이용할 수 있도록 복사
git log : 현재 커밋 목록들을 확인 가능하다.
git checkout : 브랜치에서 브랜치로 이동 가능하다.
git push : 소스 코드의 변경 사항을 원격 저장소에 반영한다.
origin : 브랜치를 나열, 생성, 삭제하는 데 사용한다.
Fork : 다른 사용자의 저장소에서 코드를 가져와 자신의 계정으로 복제하는 것
- 원본 저장소와 완전히 독립적이므로, 원본 코드를 변경할 필요 없이 자유롭게 수정할 수 있다.
Pull Request : 자신이 수정한 사항들을 원본 저장소에 병합해 달라고 요청하는 것