(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 내용을 입력 및 저장해줍니다.
다시 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)깃허브' 카테고리의 다른 글
(github)깃허브 - 깃(git) 사용법3 브랜치 만들기 (0) | 2020.12.04 |
---|---|
(github)깃허브 - 깃(git) 사용법2 깃 작업 되돌리기 (0) | 2020.12.02 |
(github)깃허브 - 윈도우에 깃(git) 설치하기 (0) | 2020.12.01 |