GIT

Git / Github

OIIUOI 2022. 7. 6. 22:55

Git / Github

분산 버전 관리 시스템
2005년 리눅스 커널을 만들기 위한 도구로 리누스 토르발스가 개발

Git 은 버전과 버전 사이에서의 차이와 수정 이유를 메시지로 남길 수 있다
원격 저장소를 통해 협업하고, 모든 히스토리를 공유한다
깃은 모든 파일을 다 저장하는 것이 아니라 변경된 사항을 버전별로 확인해서 저장하기 때문에
작업이 효율적인 것이다

그렇다면 먼저 깃을 저장할 수 있는 저장소를 만들어보자

로컬 저장소(local repository) 만들기

기본명령어 init

$ git init

이 명령어를 사용하여서 로컬 저장소를 만들게 된다

로컬 저장소는 일단 자신이 사용하는 컴퓨터에 저장을 먼저 한다고 생각하면 된다

우선 깃으로 관리하고자하는 폴더를 터미널에서 열어

명령어인 $ git init 을 입력하면, .git 폴더가 생성된다 (숨겨진 파일로 생성됨)

저장소를 만들었으니 버전을 만들 차례이다

이때 우리가 해야 하는 작업은

작업 프로세스

  1. 작업한 파일을 가지고
  2. 한번 모아서 ($ git add)
  3. 버전으로 남긴다 ($ git commit)

이렇게 되어진다


파일이 실질적으로 변경되어지는 (우리가 업데이트를 하는) 공간을 Working directory 라고 부른다

이 공간에서 작업이 되어지고 난 뒤에

  1. 작업한 파일을 가지고

파일 변경사항을 확인하는 공간 staging area 에 파일을 한번 보낸 뒤에

  1. 한번 모아서 ($ git add)

버전 메세지와 함께 버전으로 저장한다

  1. 버전으로 남긴다 ($ git commit)

기본 명령어 - git add

$ git add 파일이름

참고로 파일이름을 쓸 때 확장자도 함께 써줘야 한다

우리가 파일의 수정사항을 보관하는 Working directory에서 일 변경사항을 확인하는 공간 staging area에 추가할 때 사용하는 명령어다

이 때 깃 프로그램이 파일이 얼마나 바뀌었는지 파일을 추적하는데

추적되었다라고 표현하는 상태가 staged 상태이다

따라서 아직 추적되지 않은 상태의 (git add를 아직 하지 않았을 때의, working directory에 있는 파일일 때)

상태는 untracked 상태가 된다

기본 명령어 - commit

$ git commit -m "커밋메시지"

" 꼭 이 따옴표를 써야 문자열로 인식할 수 있으니 빠트리지 말고 쓰자

이 추적된 상태인 파일을 버전으로 저장할 때 쓰는 명령어이다

이 메세지는 변경 사항을 나타낼 수 있도록 명확하게 작성해야 한다

버그를 수정했다던가, 추가사항을 넣었다던가 같이 말이다

기본 명령어 - status

$ git status

현재 파일이 Working directory에 있는지 아니면 Staging Area 에 있는지

쉽게 말하자면 git이 파일을 추적했는지 안했는지 확인할 때 쓰는 명령어이다

기본 명령어 - log

$ git log

지금 얼만큼 버전으로 저장을 했는지 (=커밋을 조회) 확인하는 명령어이다

같은 기능이지만 조금은 다른 명령어이다

$ git log -1 가장 최근의 커밋(=마지막 버전)은?

$ git log --oneline 커밋 한줄로 보여줘

$ git log -2 --oneline 가장 최근의 2개의 커밋 한줄로 보여줘

한눈에 보기 쉽게 정리해보았다

명령어 내용
$ git init 로컬 저장소 생성
$ git add 파일이름 특정 파일/폴더의 변경사항 추가
$ git commit -m 커밋메시지 커밋(버전 기록)
$ git status 파일의 상태 확인
$ git log 버전 확인

이제 우리 컴퓨터에서의 버전이 완성되었다

이제 우리의 버전을 공유해줄 원격 저장소를 만들어 원격 저장소에 버전을 보내고 받아보자

우선 로컬 저장소에 원격 저장소의 주소를 알려줘야 한다

알려주는 명령어는 아래와 같다

$ git remote add origin 저장소링크 ex) $ git remote add origin http://github.com/OIIUOI/test.git

remote 는 원격저장소,

add 는 추가한다,

orgin은 앞으로 원격저장소의 이름은 orgin 으로 부르겠다 라는 뜻이다

원격저장소 활용 명령어 - push

$ git push 원격저장소이름 브랜치이름

ex) $ git push origin master

원격저장소에 커밋을 올리는 명령어이다

이제까지 힘들게 만든 버전을 원격저장소로 보내는 것이다

원격저장소이름을 그대로 origin 이라고 했다면 origin 으로 쓰면 되고

본인의 원격저장소이름으로 작성하면 된다

브랜치 이름은 폴더의 맨 끝 쪽의 git init 을 사용하면서 생긴 브랜치의 이름을 쓰면 되는데

보통 master 이나 main으로 작성되니 참고하면 된다

원격저장소 활용 명령어 - Pull

$ git pull 원격저장소이름 브랜치이름

ex) $ git pull origin master

원격저장소에서 파일을 받아오는 명령어이다

그럼 20000!

'GIT' 카테고리의 다른 글

README 파일링크 달기  (0) 2022.07.09
Git Branch  (0) 2022.07.08