2. git init, add, commit + git status, log
2. git init, add, commit
(git status, git log)
ㆍ git init
ㆍ git add
ㆍ git commit
ㆍ git status
ㆍ git log
이전글에서 git 구조를 정리해봤으니
이제 한번 써보도록 하면
(git은 다운 받았다고 가정)
(소스트리는 그냥 확인용)
git init, git status
git과 내 프로젝트를 연결하는 것이다.
[C 드라이브]-[itpangpang]
폴더를 하나 만들어본다.
폴더 우클릭하거나
폴더내에서 우클릭하여
[Git Bash Here]를 선택한다
창이 열리면
git init
라고 입력한다.
이렇게 하면 끝난다
git과 내 프로젝트가 연결된 것이다.
프로젝트폴더에
.git폴더가 생겼다면 성공
소스트리에서도 열어놨다
이제 git은 프로젝트폴더에서
파일이 생성되거나 삭제되는 것을
감지할 수 있다.
itpangpang 폴더에
a.txt 파일을 하나 만들어본다.
그리고 이 상태에서
git bash를 열어서
git status라고 입력해본다
git status는 git의 현재상태를
알려준다.
bash를 보니
Untracked files: a.txt
이렇게 써있는 것을 알 수 있다.
이 것은 git에서 a.txt가 생성된 것은
알고 있지만 이 파일에 대해 추적은
하지 않고 있다는 뜻이다.
소스트리에서 한번 보면
딱 3가지 영역만 보자면
Unstaged files
이 영역이 Working directory
staged files
이 영역이 Staging Area
가장 최상단에 보이는 영역이
LocalRepository
라고 보면 된다.
이전글에서 정리했듯이
이제 원하는 파일을
git에서 관리(추적)받고 싶다면
add를 통해서
Working Directory -> Staging Area
이동시켜주면 된다.
git add
자 역시나 우클릭으로
git bash를 열어준다.
그 다음에
git add a.txt
라고 입력해본다.
이렇게 하면 끝이다.
Staging Area로 이동된 것이다.
역시나 확인을 하고 싶다면
git status
라고 입력해본다.
new file : a.txt라고 나온다.
a.txt은 이제 git 추적대상이 된다.
소스트리에서 보면
a.txt 파일이
Unstaged files에서
Staged files로 올라온 것을
확인할 수 있다.
자 그럼 Staging Area로
올라온 a.txt 파일이 어떻게
관리되는지 알아보기 위해
a.txt 파일을 열어서 내용을 수정해본다.
수정후 다시 git bash를 통해서
git status라고 입력해본다.
modified : a.txt
이렇게 알려준다.
a.txt파일이 변경된 것을
git은 알고 있다.
소스트리에서도 한번 확인해보면
Unstaged files에
a.txt가 추가되었다.
이 말은 이전에 add을 통해
Staging Area로 이동한 a.txt파일과
현재 a.txt는 다른 파일이라는 것이다.
현재 a.txt에서 작업중인 파일은
Working Directory에 존재하며
작업이 끝난 후 다시 마지막시점을
기준으로 추적받길 원한다면
add를 한번 더 해주면 된다.
add를 한번 더 하게 되면
마지막 변경된 파일이 다시
Staging Area로 올라가게 된다.
git add *
* 별표라는 것이 있다.
이건 모든이라는 의미이다.
위에서는 a.txt이라는 하나의 파일을
add 해봤다.
그런데 실제로 프로젝트를 진행하게되면
수십개의 파일을 동시에 생성하거나
수정을 하게 된다.
b.txt, c.txt, d.txt 파일을
추가해본다.
이 상태에서
git add b.txt
git add c.txt
git add d.txt
이런식으로 원하는 파일을
하나하나 add해서
Staging Area로 옮기는 방법도 있지만
git add *
를 통해서 한번에 add시키는
방법도 있다.
git commit, git log
git commit을 통해
Staging Area > Local Repository로
이동시킬 수 있다.
Local Repository로 이동이 된 파일은
이제 반영구적으로 보존 할 수 있다.
월요일날 commit을 해서 Local Repository에
프로젝트를 올린다.
그 이후에 열심히 수정을 해서 수요일날 commit을
해서 Local Repository에 프로젝트를 올린다.
수요일날 commit 하는 순간 월요일날
올렸던 프로젝트들이 사라지는 것이 아니다.
따로따로 보관하는 것이다.
월요일 commit 시점
수요일 commit 시점
두 가지 프로젝트 모두
보관중인 것이다.
역시나
git bash를 열어본다.
그 다음
git commit -m "a, b, c, d.txt file add"
이렇게 써본다.
이렇게 commit 하게 되면
작업중인 프로젝트가
내 Local Repository에 저장되는 것이다.
소스트리를 보게 되면
이런식으로 나온다.
최상단의 Description에는
아까 전에 commit -m "여기 입력한 사항"
-m 다음 "" 따옴표 안에 입력한 사항이 표기된다.
이 부분은 저장소에 저장을 할때
메시지를 남기는 부분이다.
여태까지 한 작업이 a,b,c,d라는 파일을
추가 한 것이므로 그 내용을 적은 것이다.
이번에는 git bash를 다시 열어
git log
라고 적어본다.
git log는
깃 저장소에 commit한
기록을 보여주는 명령어이다.
다시 e.txt라는 파일을
추가한 후에
add, commit, log을 해본다.
이렇듯
commit하는 시점에 따라
Local Repository에 프로젝트가
저장되고,
개발자는 언제든지 원하는 시점을
선택하여 그 시점에 commit한 프로젝트를
가져올 수 있다.
여기까지 해서
git init, add, commit에 관련된
내용 정리를 마치고
다음 글에서는
push 아니면 rm?
아니면 gitignore에 대해
공부를 해보고 정리를 할 것같다.
* 개인적으로 공부하면서 정리한 내용이니
틀린내용이 포함되어있을 수 있습니다.
ㅠㅠ
'메모하기 > git' 카테고리의 다른 글
1. git 구조 공부하기 (2) | 2017.01.29 |
---|