[Git] 0.1. Git과 Git Bash

작성:    

업데이트:

카테고리:

태그: , , , ,

버전 관리

  • 버전 관리 : 내가 원하는 시점(버전)으로 이동할 수 있게 해주는 것
  • 버전 관리 시스템 : 버전 관리를 도와주는 Tool
  • 여러 팀원이 공동으로 개발하는 경우 버전 관리는 필수적.


로컬 저장소 생성

1. 로컬 저장소로 사용하고자 하는 디렉토리 우클릭
2. 'Git Bash Here' 클릭
3. '$ git init' 입력
4. .git 이라는 숨김폴더, 즉 로컬저장소 생성

.git 폴더에는 Git으로 생성한 버전들의 정보와 원격저장소 주소가 들어간다.

디렉토리에 임의로 README.txt 파일을 생성한다.


커밋 생성 및 수정

1. Git Bash 창에서 이름과 GitHub 계정을 입력

$ git config --global user.email "hello.git.GitHub@gmail.com"
$ git config --global user.name "Cat-Hanbit"


2. 커밋에 파일 추가

$ git add README.txt


3. 커밋 상세 설명 추가

$ git commit -m "사이트 설명 추가"

[-m]은 message의 약자이다.

큰 따옴표를 반드시 넣는 것에 주의한다.

img

‘1 file changed, 1 insertion(+)’ 텍스트가 보이면 성공이지만, 나는 무슨 일인지 0 insertion(+) 여서 다시 보니까 README.txt 파일에 글씨를 넣지 않았던 탓이었다. 그래서 텍스트를 넣고 다시 add해보니 정상적으로 insertion이 되었다.


4. README.txt 파일 수정

README.txt 파일을 일부 수정하고 저장한 뒤, git bash에서 다음과 같이 입력한다.

$ git add README.txt
$ git commit -m "설명 업데이트"

img_1

1 file changed, 1 insertion(+), 1 deletion(-) 메시지가 보이면 정상적으로 업데이트가 실행된 것이다.


버전 이동

개발 도중 요구사항이 바뀌거나 오류가 발생하면, 이전 버전으로 되돌아가서 다시 개발을 시작할 수 있다.


0. setting

  • 현재 README.txt 파일은 생성, 수정을 거쳐 총 2개의 버전이 있다.
  • 첫 번째 버전의 README.txt의 내용 : ‘개발자 티셔츠 쇼핑몰 오픈소스’
  • 두 번째 버전의 README.txt의 내용 : ‘개발자 티셔츠 쇼핑몰 오픈소스 짱’


1. 지금까지 만든 커밋 확인

$ git log

img_2

위의 사진을 보면 0 insertion(+) 오류 때문에 설명 추가 재시도를 했던 커밋까지 총 3개의 commit을 확인할 수 있다.


2. 되돌리려는 commit의 id 를 checkout

  • 첫 번째 버전인 사이트 설명 추가의 commit으로 되돌아가보자.
  • 앞 7자리를 복사해 다음과 같이 입력한다.
$ git checkout a61577d

img_3

위와 같이 ‘Head is now at a61577d 사이트 설명 추가’ 라는 텍스트가 보이면 정상적으로 실행된 것이다.

나는 첫 버전의 README.txt의 내용이 없는 내용이었으므로 ‘개발자 티셔츠 쇼핑몰 오픈소스’의 내용을 입력한 commit으로 이동해보려 하였다.

img_4

하지만 다시 $ git log 명령어로 버전을 확인해보니 한 번 버전 이동을 하면 그 이후의 버전들은 초기화가 되는 모양이다.

img_5

README.txt 에 텍스트를 입력하고 commit message와 함께 commit 해주었다.


3. 최신 commit으로 돌아가기

사실은 log에는 안 보였지만 최신 commit으로 돌아가는 방법이 있었다. 우선 $ git log 명령어를 통해 확인해본 log는 다음과 같다.

img_6

이때 $ git checkout a61577d 명령어를 통해 처음 버전으로 돌아갔어도 다음의 명령어를 통해 최신 버전으로 돌아갈 수 있다.

$ git checkout -

img_7

그러면 위와 같이 ‘사이트 설명 추가’ 버전에서 최신 버전인 ‘재설정’ 버전으로 버전을 이동할 수 있다.


4. 궁금증과 실험

어? 이전 버전으로 checkout 했을 때 $ git log에는 이후 버전이 안 떴는데, $ git checkout - 명령어를 입력하면 최신버전으로 돌아올까?

1. ‘$ git log’로 버전 확인

img_8

2. ‘$ git checkout a61577d’로 이전 버전 이동

img_9

3. ‘$ git log’로 버전 재확인

img_10

아까처럼 이후 버전은 보이지 않는 것을 확인할 수 있다.

4. ‘$ git checkout -‘로 최신 버전 이동

img_11

log에는 보이지 않았던 최신버전인 ‘재설정’으로 버전 이동한 것을 확인할 수 있다.

5. ‘$ git log’로 버전 확인

img_12

다시 이전 버전까지 모두 보이는 log를 확인할 수 있다.


5. 필요한 git 명령어

가. git bash 내에서 복사 : Ctrl+c (x) / Ctrl+Ins(o)
나. git bash 내에서 붙여넣기 : Ctrl+v(x) / Shift+Ins(o)
다. Reset : Alt+F8 or ‘clear’ 라. 검색 : Alt+F3


Reference

  • 팀 개발을 위한 Git GitHub 시작하기, 한빛미디어, 정호영,진유림

댓글남기기