Git의 기초 : 추가하기와 커밋하기

Git status

저장소의 상태를 보고해 주는 명령어이다.

mkdir gitpractice && cd $_
git status

명령어 첫줄로 gitpractice라는 이름의 디렉토리를 새로 만들고 그 폴더로 바로 이동한다.
그리고 두번째 명령어를 입력하면 깃 레포지토리가 아니라고 나온다. 명령어는 이해했지만 깃 저장소 정보가 없다는 것이다.

다른 깃에 연결되어있는 디렉토리에서 git status명령어를 실행하면 연결된 브랜치의 이름과, 커밋할 파일들에 대한 정보를 알려준다.


Git init

어떤 디렉토리에 있든 명령어를 실행하는 터미널에 새로운 깃 저장소를 실체화한다.
빈 깃 저장소를 생성하거나 기존 저장소를 다시 초기화한다.

git init

 

git init을 실행하면 위로는 hint로써 'master'처음 브랜치라는것을 알려주는것으로 시작하여 빈 깃 저장소를 초기화 했다는 문구와 경로가 나온다.

git status

명령어를 사용하면 이제는 연결된 master 브랜치를 표시해주고, git add로 파일을 추가해보라고 나온다.


ls -a

숨겨진 파일들은 파일명이 . 으로 시작하는데 .git이 생성된걸 알 수 있다.

디렉토리라서 들어갈 수 있는데, git init으로 초기화 된 것들이다. 만약에 이것들을 삭제하면 git 이력들도 없어진다.


Git add

커밋하기 위해 변경사항들을 스테이지에 올리려면 git add 명령어를 사용해야 한다. 그 다음 커밋할 수 있다.

touch outline.txt

gitpractice 디렉토리 안에서 새로운 outline.txt파일을 만들고 안에 임의의 내용을 만들었다.

git status

그리고 git status를 입력하면 변경사항이 보인다.
Untracked files: outline.txt

touch Characters.txt

하나의 파일을 더 만들고 임의의 내용을 넣은 뒤, 내용을 넣고 저장한다.

git status

그리고 git status를 입력하면 새로운 변경사항이 보인다.
Untracked files: characters.txt outline.txt


이쯤에서 용어에 대해서 정확히 알 필요가 있다.
Working Directory -(git add) - Staging Area -(git commit)- Repository
이런 순서로 레포지토리에 올라가게 된다.


Working Directory
프로젝트에서 실제로 작업하는 공간, 디렉토리를 일컫는다.
이 경우 나의 working directory는 gitpractice 폴더이고
Repository 는 .git 폴더이다.
Commit을 하게되면 git commit은 .git 안에 있는 것들을 변경해서 새 커밋을 폴더에 등록한다. 그래서 커밋하면 그 폴더, 사실은 깃 저장소를 업데이트 하는 것이다.


Straging Area
물리적인 영역은 아니지만 커밋하기 전에 변경사항들을 등록하는 곳이다.


다시 git add로 돌아와서, git add 다음에는 우리가 변경했던 한 개 혹은 그 이상의 파일 이름을 공백으로 분리해서 넣는다. 혹은 . 으로 working directory안에 있는 모든 파일들을 넣을 수 있다.

git add characters.txt
git status

변화를 보려고 일부러 git add로 characters.txt 파일만 스테이지에 넣어보았다. Changes to be committed를 보면 알 수 있듯이 아직 커밋하지는 않았다.

git add outline.txt
git status

git add로 outline.txt를 스테이징에 넣었다.
그리고 git status로 이전에 따로 넣었던 파일까지 총 두 파일이 들어가있는 것을 확인 할 수 있다.


Git commit

각각의 체크포인트들을 깃에서 커밋이라고 부른다.
커밋하는것이 파일을 저장하는 것은 아니다. 그 이상으로 구축하는것이다.
Staging Area에 있는 변경사항들을 커밋하는데 사용하는 명령어이다.
커밋 메세지는 그 컷에 포함되는 변경사항에 대한 요약을 포함해야 한다.


git commit -m 'my message'

이 커멘드를 사용하면 my message 안에 있는 내용으로 커밋한다.

 

git commit -m "outlines and characters"

이 커멘드로 커밋을 하고 git status로 확인을 하면 working tree clean이라는 문구를 볼 수 있다. 이는 워킹디렉토리에 있는 폴더에서 변경된 모든 것들깃이 알고 있고 추적하며 모두 업뎃했다는 내용이다.


Git log

chapter1.txt라는 파일을 새로 만들고 git status 를 하면 Untracked files : chapter1.txt 가 메세지로 표시된다.

이번에는 outline.txt에 있는 Jordan의 J를 소문자로 바꿔서 j로 해서 저장을 해보았다.
그리고 git status를 하면 modified: outline.txt가 메세지로 표시된다. 글자하나라도 파일이 바뀐것이고 깃은 그것을 추적 하고있음.

git add outline.txt chapter1.txt 
git status
git commit -m "begin work on chapter 1"
git status

outline.txt 와 chapter1.txt를 git add하여 스테이지에 올린 뒤 git status로 확인하면 각각 새로운 파일과 수정된 파일로 표시가 된다.
그리고 git commit으로 메세지를 넣어서 커밋을 한 뒤 git status로 다시 확인을 해보면, working tree clean(커밋 성공)을 확인할 수 있다.


Git log

깃 저장소에 대한 커밋 정보들을 검색
git commit을 실행했을 때 벌어지는 일들을 보여줌

git log

각각의 커밋에서, 저자와 날짜, 이메일을 볼 수 있다.
주황색으로 표시된 이상한 문자열은 커밋 해시라고 한다.

JUNE .

20'S LIFE IN SYDNEY and BUSAN

    이미지 맵

    DevOps Study/Git and Github 다른 글

    이전 글

    다음 글