이번 글에서 알려줄 내용은.. 알아두면 쓸모있는 뭐 그런 것들이다.
첫번째로 알려줄건 gitignore 기능이다.
만약에 git에 올리고 싶지 않은, 혹은 올리지 말아야할 파일이 있을때는 어떻게 할까??
예를 들어 log로 끝나는 모든 파일을 git에 안 올리고 싶어한다면.. log 파일을 제외한 모든 파일을 add로 하나하나 올리는 방법도 있다. 하지만 이건 매우 비효율적인 방법으로, gitignore 파일을 이용하는게 좋다.
log로 끝나는것들을 모두 gitignore에 넣어준다. 끝이다. start .gitignore을 쳐서 실행이 잘 되었나 확인하자.
특정 디렉토리 안의 모든 파일을 안 넣고 싶을때는 gitProject/ 이런식으로 쓰면 되고 디렉토리 안의 특정 종류의 파일을 안 넣고 싶을때는 gitProgect/*.log 이런식으로 쓰면 된다.

두번째로 알려줄 내용은 git status의 부가기능이다.
명령어 뒤에 옵션을 붙일 수 있는데, 무슨 옵션이 있는지 궁금하다면 git 명령어 -h을 치면 쭉 나온다.
git status -s를 해주면 현재 상태를 간단하게 볼 수 있다. A는 현재 파일이 staging area에 있다는 뜻이다.
그렇다면 파일을 수정하면 어떻게 될까?? c 텍스트 파일에 love라는 문자열을 덧붙여봤다. 다시 git status -s를 하니 c파일은 AM이라고 뜬다. M은 modified, 즉 수정된 상태라는걸 뜻한다. 현재 c파일은 A에도 있고 M에도 있다는 소리다.

세번째로 알려줄 명령어는 git diff다. 뒤에 옵션을 붙이지 않으면 working directory에 있는것만 비교한다.
a는 이전 버전을 의미한다. (이전 버전은 이전에 commit된 버전 또는 staging area에 있는 파일의 변경된 버전을 말한다)
b는 현재 버전을 의미한다. index는 깃 내부적으로 파일들을 참고할때 쓰는 것인데 딱히 신경 안 써도 될듯하다.
working directory에 c가 남아있으므로 c의 이전 버전과 현재 버전을 비교하고 있다.
@@ -1, +1, 2 @@는 무엇을 의미하는걸까? -는 이전 버전 파일, +는 현재 버전 파일을 뜻한다. -1은 첫번째 줄의 ji가 이전 버전의 파일에서 나왔음을 의미한다. +1, 2는 현재 버전의 첫번째 줄에서 두번째줄까지 확인했다는 의미다.

staging area에 있는걸 확인하고 싶으면 git diff 뒤에 staged 또는 cached 옵션을 붙이면 된다.
--- /dev/null: 이전에는 아무것도 없었지만
+++ b/b.txt: b 텍스트 파일이 추가됐고 b 파일의 첫번째줄에 ji라는 내용이 추가됐다.
c 파일도 마찬가지.

이렇게 확인하는게 힘들다면 UI를 이용해보자. git config --global -e 를 치고 vscode가 실행되면 사진과 똑같이 입력한 후 프로그램을 닫아준다.

working directory에 있는 파일을 확인하는 경우엔 쉘에 gitdifftool을 입력한다. 그러면 vscode로 실행할거냐는 질문이 뜬다. y를 눌러주자.

그러면 이렇게 vscode가 실행되고 UI를 통해 변경된 내용을 확인할 수 있다.

staging area에 있는 파일을 확인하는 경우엔 git difftool --staged를 입력해준다. 나는 staging area의 C파일을 열었다. 예전엔 아무것도 쓰여있지 않았지만 지금은 ji 가 쓰여있다는걸 확인할 수 있다.

'나도 공부한다 > git 사용법' 카테고리의 다른 글
git reset을 이용해서 과거로 돌아가기 (수정중) (0) | 2021.07.12 |
---|---|
github에 파일 올리고 다운받기 (0) | 2021.07.09 |
git workflow 이해하기 (commit 하는 법) (0) | 2021.06.29 |
git의 기본적인 명령어 (0) | 2021.06.27 |
git을 사용하기 전에 해야하는 설정 (0) | 2021.06.27 |