02. commit, push
init
git init
명령어는 해당 폴더를 새로운 git repository로 지정하고자 할 때 사용하는 명령어이다.
repository로 등록하고자 하는 폴더로 이동하여 터미널을 연 뒤 다음과 같은 명령어를 쳐준다.
git init
명령어를 실행하면 해당 폴더에 다음과 같은 폴더가 생긴 것을 확인할 수 있다. (숨김 폴더)
status
git status
명령어는 Work Tree의 상태를 보여주는 명령어이다.
폴더에 index.html
파일을 추가해보자.
파일을 생성한 뒤 다음과 같은 명령어를 입력해 보자.
git status
새로 생성된 index.html
은 추적되지 않는 파일이라고 한다. repository 내에 있는 파일들은 크게 Tracked와 Untracked로 나뉘며, git에 등록해 추적 중인 파일들이 Tracked 상태에 놓여있어야 한다.
Tracked된 파일들의 상태는 다시 modified, unmodified, staged 3개의 상태로 나뉜다.
아래에 나올 git add
명령어를 통해 파일을 Tracked 대상으로 등록할 수 있다.
add
git add <file> [<file> ..]
git add .
git add
를 통해 index에 등록될 파일을 지정할 수 있으며 띄어쓰기를 통해 여러 파일을 한번에 add 할 수 있다.
만약 파라미터에 파일명이 아니라 .
을 지정하면 폴더에 있는 모든 파일을 index에 스테이징 한다.
한번 staging 된 파일들은 git rm --cached <fileName>
명령어를 사용하지 않는 이상 untracked 되지 않는다
commit
내 PC의 로컬 Repository에서 원격 Repository(GitHub)에 공유하려면 로컬 Repository의 변경 이력을 원격 Repository에 업로드 해야한다. 원격 저장소로 변경 내역을 업로드하는 것을 Push(푸시)라고 한다.
우선 GitHub에서 원격 Repository를 만든다.
git remote add <name> <원격 주소>
위의 명령어는 로컬 repository와 원격 repository를 연결해주는 명령어이다.
name을 생략시 자동으로 origin이란 이름이 들어가며 보통 원격 Repository 이름은 origin으로 등록하는것이 일반적이다.
push
이제 원격 Repository를 설정을 했으니 변경 이력을 push를 통해 업로드 해보자.
git push <repository> <refspec> ...
repository 에는 원격 Repository 경로의 주소, refspec은 브랜치를 지정한다.
push 후 github에서 반영된 것을 확인할 수 있다.
다음 글: 03. clone, pull