[GIT] Git 쌩기초 요약
1. Github
-
Github이란
-
Github은 세계에서 가장 광범위하게 사용되는 원격 저장소입니다.
- 원격 저장소란
Github
,Gitlab
같은 호스팅 서비스나 내부 서버에 코드(프로젝트)의 현재 상태를 저장하는 디렉토리를 의미합니다. - 상태란 코드 / 파일의 추가, 삭제, 변경을 포함한 상태를
commit
의 형태로 저장한 것을 말합니다. - 원격 저장소가 없더라도 local에서 커밋 내역을 저장할 수는 있지만, 협업 도구로 활용하려면 원격 저장소가 필수!
- 원격 저장소란
-
2. Git bash
- windows를 사용할 때도 command prompt를 쓰기보다 git bash를 사용하면 더 편리합니다.
- 설치하고 PATH에 등록하면 우클릭으로 원하는 폴더에서 터미널을 쉽게 열 수 있어요.
-
원하는 디렉토리에서 터미널을 열었다면 다음 명령어를 순서대로 입력해봅시다.
$ mkdir git_test # 1 폴더를 만들어서 $ cd git_text # 2 들어가고 $ git init # 3 이 디렉토리를 git 저장소로 만듭니다(.git폴더가 생성됩니다) $ touch test.txt # 4 test.txt파일을 만들고 $ git add test.txt # 5 test.txt 파일을 추적합니다. $ git commit -m 'first commit' # 6 first commit 메시지로 커밋을 남깁니다. $ git push # 7 업스트림으로 설정된 브랜치에 푸쉬합니다.
- git은 init 혹은 clone 명령어로 만들어진 git 저장소 안에서 파일의 추가, 변경, 삭제, 이동을 기록합니다.
-
이 때, 모든 파일이 추적되는 것은 아니며 git add 명령어로 stage된 파일들만 관리하게 됩니다.
git add .
으로 하위 디렉토리를 포함한 모든 파일을 추적할 수 있습니다.-
이 때 .gitignore 파일을 생성하여 추적 제외 규칙을 생성해 줄 수 있습니다.
gitignore.io 링크
사용하는 환경에 맞게 gitignore파일을 자동으로 생성해주는 웹서비스입니다.
-
commit
은 해당 시점의 변경사항을 기록한다는 의미입니다.- HEAD와 message를 가지고 있으며 message는 별도의 툴을 이용하는게 아니라면 직접 작성해야 합니다.
- commit message는 집단 내 컨벤션이 중요한 분야입니다. 꼭 지켜보도록 합시다.
-
git을 개인 저장소로 사용한다면 5,6,7 번(add, commit, push)를 반복하게 됩니다.
-
여기에
git pull
과git clone
을 더하면 두 개 이상의 장치에서의 사용도 가능합니다.pull
은 현재 저장소의 최신 상태를 가져온다는 의미입니다. 로컬의 상태가 최신일 경우 everything up to date라고 출력됩니다.clone
은 이미 존재하는 리포지토리를 로컬로 복사하는 명령어입니다. 다운로드라고 생각하면 좋습니다.
-
-
현재 작업공간에서 과거의 이력으로 돌아가고자 한다면,
$ git checkout HEAD~n # 'n'단계 이전의 커밋으로 돌아갑니다. $ git checkout master # master 브랜치로 복귀합니다. $ git checkout 733f21 # 커밋의 해쉬값을 적어서 해당 커밋으로 복귀합니다. 앞의 6자리만 써도 됩니다. $ git reset ~ # 현재의 커밋을 버리고 과거의 이력으로 돌아갑니다.
Git을 협업 도구로 사용하는법은 다음 포스트에서 다루겠습니다.
공유하기!