원격 코드저장소
깃을 사용해 인터넷 상에서 소프트웨어 개발과 버전관리 해줌
협력용으로 주로 이용한다.
하나의 프로젝트를 보관할 때 보통 하나의 레포지터리를 할당
분산 버전 관리 시스템
깃은 로컬에서 작업한다.
변경 이력들과 기록들을 쉽게 추적하고 파악하게 해준다.
기록을 남기거나 이전 기록으로 돌아갈 수 있다.
레포설정은 레포 소개, 레포 공개 설정, 레포 초기 파일로 나뉜다.
레포 이름
1) 레포에 대한 파악이 가능하도록 설정
2) 규칙은 정해지지 않았지만 주로 소문자와 -의 조합으로 사용된다.
레포 소개
1) 간략한 소개를 적는 부분
2) 레포 사용법에 관해서는 README파일을 이용하기에 길게 적지 않는다.
레포 공개 설정
1) 레포 생성시 공개여부를 선택
2) Public은 깃헙에서 누구든지 찾을 수 있도록 공개
3) Private은 개인 레포로 설정
레포 초기 파일
레포를 처음 생성할 때 같이 생성할 수 있는 파일들에 대한 옵션
fetch
단순히 저장소의 내용을 확인, 로컬데이터와 병합 x
pull
fetch + merge의 효과
clone
pull + git remote add 해당주소
깃의 내용을 깃헙에 올리는 과정
1) 파일 변경
2) stage area에 파일 add
3) local repo에 파일 commit
4) push를 통해 파일 업로드
5) fork 해온 repo에 반영하고 싶을 경우에는 pull request
https://github.com/{유저 이름}/{레포 이름}
$ git clone https://github.com/{유저이름}/{레포 이름}
$ rm -rf .git
$ git remote add origin https://github.com/{유저이름}/{레포 이름}
git init
로컬 저장소로 사용할 폴더를 생성하여 해당 폴더로 이동
git add
1) 깃이 어떤 파일들을 기록할지 정해주는 명령어
2) 명령어 뒤에는 파일의 경로를 담으면 된다.
3) 현재 디렉토리를 전부 담으려면 .을 사용하면 된다
(하지만 한번에 모든 파일들을 기록하는 것은 위험할 수도 있다.)
git status
깃의 현재 상태를 보고 싶을 때 사용되는 명령어
git commit
1) 파일들을 기록하는 것
2) 기본적으로 입력시 커밋할 메세지를 기록할 에디터를 열3) 어준다.
4) 에디터를 키지 않고 메세지를 남기고 싶을경우 -m 플래그이용
$ git commit -m "git commit message"
연결된 원격 레포주소 확인가능
$ git remote -v
원격주소 추가가능
$ git remote add {원하는 이름} {연결할 주소}
원격주소 지우기
$ git remote remove {지울 이름}
git fetch
특정 주소에서 변경된 사항을 가져옴
git merge
위에서 가져온 임시 브랜치를 현재 브랜치와 합칠 때 사용
git pull
fetch,merge 과정을 알아서 해줌 (자신만의 머지/합병 알고리즘을 실행하기에 유의)
로컬에서 많이쓰이는 명령어
git의 master 브랜치는 인종차별적인 이유로 권유되지 않는다 main을 이용하자
깃에서 저장한 순간은 사진찍듯 스냅샷을 저장한다고 한다. (체크포인트라고도 말한다)
git의 push를 통해 다른 저장소의 내용도 저장가능하다.