깃은 소스코드의 버전을 관리하는 도구다.
버전: 의미있는 변화 또는 작업이다. 어떤 작업이 완결된 상태.
아래는 깃의 간단한 사용법이다. 따라해보자.
1.아무 폴더를 만든다. pwd 로 만든 폴더 위치에 들어온다.
2.바탕화면에 빈폴더를 만들고(gittest) 터미널을 열고, 폴더 위치에서 git init 이라고 명령어를 입력하면 빈폴더에 .git 이라는 파일이 생긴다. 이작업은 저장소에 필요한 기본적인 파일 구조를 만든다. 이파일은 이 폴더에 있는 파일들을 깃이 관리하는것을 도와주는 역할을 한다.
만든 폴더(로컬저장소)에는 세부분으로 나뉘어져있다.
1.작업디렉토리: 실제 파일 존재 -> 2.인덱스(스테이지) : 준비영역 -> 3.HEAD : 최종 확정 (commit)
3. vim mytext.txt 명령어로 파일을 만든다. 그 파일안에 아무 내용을 적고 나온다. 그리고 git status 명령어를 입력한다. 방금 만든 파일이 붉은색으로 표시된다. 방금만들었지만 이 파일은 깃이 관리를 하지 않는 파일이다.
4.git add 명령어로 방금만든 파일을 깃이 관리하도록 한다. git status를 입력하면 이제 방금 만든 파일이 초록색으로 변한것을 볼 수 있다.(Tracked 파일:깃이 변경사항을 추적할 수 있는 파일)
git status : 파일들의 현재 상태보기
add : add를 한 파일만 commit 된다. 작업한 내용중에서 파일을 추려서 '선택적'으로 파일을 커밋할 수 있다.
쉽게말하면 '커밋대기상태' (stage area)이다.
5.위의 명령어로 이름과 이메일을 지정해주고 위에서 만들었던 파일을 commit 해준다.
깃폴더의 모든 파일은 두가지로 나뉜다. Tracked(관리대상), Untracked(관리대상아님)
참고: Tracked 파일은 이미 스탭샷에 포함되었던파일. 그리고 스테이지에 올라간 상태에 있는파일이다 (stage area).
나머지 파일은 모두 Untracked 파일. Untracked파일은 커밋되지 않는다. 무조건 add 해서 추가후(stage area에 올린후) 커밋을 할 수 있다. add 후 수정하면 unstage 상태가 되니, 수정후에는 add로 최신상태, 즉 stage에 올라간 상태를 만들어야된다.
6.commit 명령어를 내리면 커밋한 내용 즉, 변경된 사항을 적을 수 있다. 변경된 내용을 적고 저장하자. :wq
7.저장하고 나오면 터미널이 1개의 파일이 커밋되었다고 알려준다.
커밋이 된 이후의 상태는 repository 상태이다.
add - stage area , commit - repository
8.git log 라는 명령어로 현재 파일의 상태를 보자. 잘 커밋되었고, 작성자와 메일, 날짜를 볼 수 있다.
9.이번에는 파일을 수정해보자. 아무내용으로 수정하고 빠져나와서 위의 명령어를 쳐보자. 그럼 상태가 수정상태로 바뀌는것을 볼 수 있다.
10.git commit 으로 수정된 내용을 적어준다. (아래 사진) . 그리고 로그를 보자.
11. git log -p 는 커밋순서대로 비교해서 보여준다. commit 오른쪽 글자는 해당 커밋의 고유 id 이다.
12. commit 의 id 로 서로 무엇이 달라졌는지 비교할 수 있다.
13. 간단하게 1번 아이디 2번아이디로 표시를 했다.
14.git reset 커밋 아이디 --hard 는 해당 커밋한 상태로 되돌린다.
보통 로컬에서 되돌릴때 revert를 하고 원격에서는 revert는 조심한다.
참고:깃명령어중에 commit , add, log, diff, init을 주로 사용한다.
15. 파일을 add 하고, 다시 그 파일을 수정했다면 add를 다시 해야 한다... 그래서 파일 수정후에는 git add 명령어를 통해서 스테이지에 올려야 되는데(최신버전) 파일이 여러개일경우 귀찮다. 그래서 git commit -a 라는 명령어를 사용하면 git은 알아서 Tracked 상태의 파일을 자동으로스테이지(stage area)에 넣는다.
16.위 그림처럼 git commit -am "커밋메시지" 명령어를 통해서 커밋 메시지도 적을 수 있다.
'매일코딩 > 리눅스-우분투' 카테고리의 다른 글
우분투 mysql에 외부에서 접속하기 (0) | 2018.06.13 |
---|---|
우분투에 phpmyadmin설치 후 안 열릴때 (0) | 2018.01.02 |
Ftp 서버(Server) 설치 사용 (0) | 2017.11.17 |
Ubuntu 14.04 기준 APM (Apache/PHP/MySQL) 설치 (0) | 2017.11.17 |
ubuntu 16.04 Apache2 PHP 설치하기 (0) | 2017.08.25 |
댓글