https://gitforwindows.org/
페이지에서 다운로드
sudo yum install git
git --verison
을 통해 정상 설치를 확인한다.
$git config --global user.name "XXX"
$git config --global user.email XXX@XXX.com
$git init
$git remote add {remote} {branch}
혹은
$git clone {url}
위와같은 명령어로 쉽게 연결이 가능하다.
staged
-> git commit
명령어를 통해 unmodified
상태로 변경된다.unmodified
or staged
파일이 변경되었을 때 상태가 변경된다.untracked
or modified
-> git add
명령어를 통해 staged
상태로 변경된다.commit
명령을 실행하면 staged상태의 파일들이 commit된다vi test.js
라는 파일을 만들어본다.
<파일내용>
aaaaa
a
문자가 5개 들어있는 단순한 파일이다.
git status
명령어를 통해 파일의 상태를 확인한다.
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# test.js
nothing added to commit but untracked files present (use "git add" to track)
파일이 현재 Untracked
상태라고 나온다. Untracked 이라는것은 git에 파일이 추가되지 않은 상태로, git이 파일의 변화를 추적하지 않는 상태를 나타낸다.
git add test.js
를 통해 파일을 추적상태로 변경해보자.
git status
를 통해 상태를 다시 확인해보자.
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: test.js
#
상태가 변경되었다고 나온다. 이제부터 이 파일의 변경기록추적이 가능하다.
vi test.js
를 통해 파일을 수정한다.
AS-IS.
aaaaa
TO-BE.
aaaaa
bbbbb
아래에 b라는 문자를 5개 추가해보았다.
변경된 내용이 추적은 어떻게 보일까?
git status
를 다시 실행해보자.
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: test.js
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: test.js
#
파일의 추적을 확인해보면 위와같이 변경되었다는 내용과 staged상태가 아니라는 2가지 목록이 나온다.
현재 상태에서 commit
을 한다면?
파일의 수정된 Modified
상태와 이전에 add를 완료한 Staged
두 가지 상태에 있는 test.js
를 지금 커밋하면
어떤 파일이 적용될까?
당연히 Staged
에 있는 파일이 적용된다. 마지막으로 add한 상태가 저장되니 최신 데이터의 commit을 위해
add를 다시 해주자.
git add test.js
한번 더 test.js
의 파일을 수정해보자.
AS-IS.
aaaaa
bbbbb
TO-BE.
bbbbb
ccccc
이와같이 a줄을 지우고, c줄을 추가한 내용으로 바꾸었다.
어디부분을 어떻게 바꾸었을까?
위 예제에서는 한줄의 수정이라 눈으로도 확인이 가능하다. 하지만, 여러분들이 코딩하는 프로젝트의 파일은 이렇게 단순한 라인일 수 없다.
git diff
를 사용해보자.
diff --git a/test.js b/test.js
index be4e668..a7cf086 100644
--- a/test.js
+++ b/test.js
@@ -1,2 +1,2 @@
-aaaaa
bbbbb
+ccccc
-, +
모양을 통해 어떤 문자가 삭제, 추가되었는지 알려준다.
유용한 기능이니 꼭 기억하자.
commit
한 내용을 git에 업로드하자
git add
를 통해 파일을 Staged상태로 변경하였다. 이 상태에서 git commit
을 통해 Unmodified 상태로 바꿔준다.
git commit -m "{message}"
명령어를 실행하면 Staged상태에 있던 파일들이 스냅샷에 저장되면서 Unmodified상태가 되고 서버로 업로드가 가능한 상태가 된다.
git push {remote} {branch}
명령어를 통해 서버로 업로드가 가능하다.
push할 때 tag
를 작성해보자
git tag
를 통해 현재 등록된 tag리스트를 볼 수 있다. 현재 branch버전에 태그를 달아보자.
git tag v1.0.0
이라고 실행하면 간단히 태그를 붙일 수 있다.
git log
를 통해 커밋로그를 확인해보면 현재 HEAD에 tag: v1.0.0
이 붙은걸 볼 수 있다.
git push origin v1.0.0
을 통해 태그를 push한다.