반응형

(github)깃허브 -  깃(git) 사용법1 깃으로 버전 만들기

 

이전 포스팅에서는 깃(git)을 설치하는 방법 및 name과 email 설정에 대해 포스팅하였습니다.

이번 포스팅에서는 깃(git)의 사용법에 대해서 포스팅하겠습니다.

 

먼저 저는 C:\Users\do\git_test 폴더를 만들어주었습니다. 이 폴더에서 git을 테스트 할 것입니다.

 

git init

명령 프롬프트(cmd)로 해당 폴더에 들어가서 git init 명령어를 입력합니다.

 

윈도우 탐색기로 확인해 보면 .git 이라는 숨겨진 폴더가 생깁니다. 이 폴더에 깃이 시작된 것 입니다.

 

git status

cmd에서 git status를 입력하면 깃의 상태를 출력해줍니다.

  • On branch master: 현재 마스터 브랜치가 존재
  • No commits yet: 아직 커밋한 파일 없음
  • nothing to commit: 현재 커밋할 파일 없음

 

해당 폴더에 git_test.txt 텍스트 파일을 하나 만들어주고 1열에 AAA 내용을 입력 및 저장해줍니다.

git_test.txt "AAA" 입력

 

다시 cmd에서 git status를 입력하면 Untracked files 라는 변화된 내용이 출력됩니다.

깃에서 버전관리를 하지 않은 파일들을 Untracked files라고 합니다.

 

git add

이제 cmd창에서 git add git_test.txt 명령어를 입력하면 git_test.txt파일이 스테이지로 올라갑니다.

(스테이지는 생성 또는 수정한 파일을 올리는 곳입니다. 이곳에 올린 파일들이 후에 저장소로 커밋됩니다.)

이후 다시 git status를 입력하면 Changes to be committed 라는 변화된 내용이 출력됩니다.

git_test.txt 파일 앞에 new file이라는 변화된 내용도 출력됩니다.

이는 앞으로 git_test.txt 파일을 커밋할 준비가 되었다는 상태입니다.(스테이지에 올라간 상태)

 

git commit

이제 스테이지에 올라온 파일을 커밋해줍니다.

git commit -m "넣고 싶은 메세지" 명령어를 입력합니다. (-m 옵션은 커밋과 함께 메세지를 입력할 수 있게 해줍니다)

명령어를 입력하면 1개의 파일이 변경되었고, 파일에 1개의 내용이 추가되었다고 출력됩니다.

다시 git status를 입력하면 커밋할 것이 없고, 작업트리도 깨끗하다고 출력됩니다.

 

git log 명령어를 입력하면 커밋한 버전이을 확인 할 수 있습니다.

 

위에서 설명한 스테이지에 올리는 git add와 git commit을 동시에 하는 방법도 존재합니다.

먼저 git_test.txt 파일 2열에 "BBB"를 입력하고 저장합니다.

 

그다음 cmd에서 git status를 입력하면 아래와 같이 스테이지에 올라가지 않았으며 git_test.txt가 수정되었다는 내용이 출력됩니다.

 

cmd에서 git commit -am "넣고싶은 메세지" 명령어를 입력하면 git add와 git commit이 동시에 됩니다.(-a는 스테이지 올리는 add옵션, m은 뒤에 메세지를 넣을 수 있게 해주는 옵션)1개의 파일이 변경되었고, 2개의 내용일 추가되었고, 1개가 삭제되었다는 내용이 출력됩니다.git status를 입력하면 커밋할게 없고, 작업트리도 깨끗하다고 나옵니다.

 

git log

git log 명령어를 입력해보면 최근에 커밋한 내용이 HEAD -> master로 설정되어 있음을 확인할 수 있습니다.

commit 뒤에 나오는 값은 커밋 해시값(또는 git hash)입니다.

Author: 뒤에는 작성자의 이름과 이메일이 나옵니다.

Date: 뒤에는 버전을 만든 날짜가 나옵니다.

그 밑에는 커밋할때 -m 옵션으로 넣어준 "메세지" 내용이 출력됩니다.

 

git diff

git_test.txt 파일 3열에 "CCC"를 입력해 줍니다.

 

git status를 입력해 보면 파일이 수정되었고 스테이지로 올라가지 않았다는 내용이 출력됩니다.

 

이 상태에서 git diff를 입력하면 커밋되어 있는 최신버전의 git_test.txt 파일과 수정한 git_test.txt 파일의 차이점을 보여줍니다.

붉은색 -BBB의 의미는 BBB가 삭제되었다는 의미입니다.

녹색의 +BBB +CCC의 의미는 BBB, CCC가 추가되었다는 의미입니다.

 

여러파일 git add

폴더에 git_test2.txt파일을 만들고 "111, 222, 333, 444"를 입력해줍니다.

 

git status를 입력해서 상태를 확인합니다.

git_test.txt는 파일이 수정되었고 스테이지에 올라가지 않았다고 출력됩니다.

git_test2.txt는 파일이 Untracked 상태임을 출력합니다.(버전관리를 하지 않는 파일이라는 의미)

 

이제 2파일을 git add 하여 스테이지로 올려줍니다. 방법은 두가지가 있습니다.

1. 하나씩 추가하는 방법

$ git add git_test.txt
$ git add git_test2.txt

2. 모든파일을 add 하는방법 ( .은 모든파일을 의미)

$ git add .

그리고 git status로 상태를 확인합니다. 2개 파일 모두 커밋할 상태로 변화되어 있습니다.

 

이제 git commit -m "메세지내용" 명령어 입력을 합니다.

2개의 파일이 변경되었고, 6개의 삽입, 1개의 삭제가 있음을 출력합니다.

 

git log --stat 명령어로 상태를 확인합니다.

--stat 옵션을 주면 버전의 커밋 관련 파일 내용도 함께 출력됩니다.

 

여러 파일을 git add 할때 제외하고 싶은 파일 목록만들기

git init으로 깃을 시작한 폴더내에서 git으로 버전관리하고 싶지 않은 파일들이 있을 수 있습니다.

그런 경우 git init을 시작한 최상의 폴더에 .gitignore 파일을 만들어 목록을 입력해주면 됩니다.

git_test3.txt 파일이 없는 상태에서 .gitignore 파일을 만들어 "git_test3.txt"를 입력해주고 저장합니다.

 

git status를 입력하면 .gitignore 파일이 생성되었고 스테이지에 올려야 하는 Untracked 상태임을 출력해줍니다.

(.gitignore 파일안에 지정한 파일은 버전관리에 포함되지 않지만 .gitignore 파일은 버전관리에 포함됩니다)

 

폴더에 git_test3.txt 파일을 만들고 "가가가"를 입력합니다.

 

git status를 입력해보면 .gitignore 파일에 입력되어 있는 git_test3.txt는 검색이 되지 않는 것을 확인할 수 있습니다.

 

이제 .gitignore 파일에서 git_test3.txt 내용을 삭제하고 저장합니다.

 

git status를 다시 입력해 봅니다. git_test3.txt 파일도 Untracked 파일로 나타나는 것을 확인 할 수 있습니다.

.gitignore에는 파일명뿐 아니라 폴더, 확장자등으로도 버전관리에서 제외를 할 수 있습니다.

  • 파일명.확장자    (1개의 파일 제외)
  • 폴더명/    (해당 폴더명 폴더 제외)
  • .확장자    (해당 확장자 모두 제외)

 

최근 커밋 메세지 수정하기

git log를 입력해서 최신 버전의 커밋 메세지를 확인합니다.

 

git commit --amend 명령어를 입력하면 vim이 열리면서 최근 버전의 메세지를 수정할 수 있습니다.

(vim 사용법은 a를 누르면 뒤에 내용을 입력할 수 있습니다.)

저는 마지막에 "메세지 수정"을 추가 입력하고 vim을 저장종료 하겠습니다. (vim저장종료 명령어 esc -> :wq)

 

이후 git log를 입력하면 메세지가 수정된 것을 확인 할 수 있습니다.

 

다음 포시팅에서는 깃으로 하는 작업을 뒤로 되돌리는 명령어에 대해 포스팅하겠습니다.

그전에 불피요한 .gitignore파일과 git_test3.txt 파일은 삭제하도록 하겠습니다.

 

[github]깃허브 전체보기

 

'(github)깃허브' 카테고리의 글 목록

전산 관련 경험을 기록 하는 곳

reddb.tistory.com

 

반응형