Git

Git 연습 #1(mac os)

Choiji 2022. 7. 21. 23:42

깃 설치

brew install git

※ homebrew가 없으시면 https://brew.sh에서 설치 해주세요

 

Homebrew

The Missing Package Manager for macOS (or Linux).

brew.sh

깃까지 설치가 완료되시면 깃 연습을 할 폴더를 만듭니다.

 

~ mkdir -p projects/git
~ cd projects/git
~ git init

※ git init : 저장소를 초기화 하기 위한 명령어 입니다.

 ~/projects/git master ls -al
total 0
drwxr-xr-x  3 staff   96  7 21 23:32 .
drwxr-xr-x  3 staff   96  7 21 23:27 ..
drwxr-xr-x  9 staff  288  7 21 23:32 .git

저장소를 초기화 하고나서 확인해 보면 .git 폴더가 생성 됩니다. 

.git 폴더는 깃 저장소에 관련된 정보들이 들어가 있습니다.

 

저장소를 초기화 하고 나면 기본적으로 버전을 관리해주는 master 브랜치가 생성됩니다.

깃 저장소를 지우는 방법은 rm -rf .git 명령어를 사용해주면 됩니다.

 

깃 연습을 위해 텍스트 파일을 생성하겠습니다.

echo hello world! > a.txt
echo hello world! > b.txt
echo hello world! > c.txt
ls

 

파일을 생성하고나면 처음엔 초록색이던 마스터 브랜치가 노란색으로 변경됩니다.

이것은 브랜치에 변경사항이 있다는 것입니다.

 ~/projects/git  master git status
현재 브랜치 master

아직 커밋이 없습니다

추적하지 않는 파일:
  (커밋할 사항에 포함하려면 "git add <파일>..."을 사용하십시오)
	.DS_Store
	a.txt
	b.txt
	c.txt

커밋할 사항을 추가하지 않았지만 추적하지 않는 파일이 있습니다 (추적하려면 "git add"를 사용하십시오)

git status 명령어로 현재 파일들의 상태를 확인 할 수 있습니다.

 

방금 전에 생성했던 파일들은 Untracked 파일 (아직 깃이 알지 못하는 파일) 목록에 있습니다.

이 파일들을 staging area로 이동 시켜주려면 git add 명령어를 사용해야 합니다.

a.txt 파일을 git add 해주고나서 git status로 확인해보면

커밋할 준비 된 new file: a.txt라고 표시가 됩니다.

이렇게 하면 staging area로 커밋할 준비를 한 것입니다.

 

git add에서 여러 파일을 한번에 하고싶으면 git add *, git add *.txt라고 작성하시면 됩니다.

git add * 명령어로 모든 파일을 staging area로 이동 시켜 준 후 

a.txt에 내용을 추가해줍니다.

그 뒤에 다시 git status로 확인해보면 staging area에 새 파일들이 추가가 되었고

a.txt파일이 modified 되었다고 표시 됩니다.

staging을 해줌으로써 txt 파일들을 git이 tracked 추적을 하게 된걸 알 수 있습니다.

 

추적하고 싶지 않은 파일 등록방법

 

log파일과 .gitignore 파일도 생성해줍니다

gitignore파일에 *.log 내용도 추가해줍니다.

 

아래 사진을 보면 log.log  파일이 untracked 파일에 포함되어있지 않은것을 알 수 있습니다.

.gitignore파일에 *.log를 작성했기 때문입니다.

이렇게 추적하지 않을 파일을 등록할 수 있습니다.

gitignore에는 특정한 디렉토리 안에 있는 파일이나 특정한 파일도 지정할 수 있습니다.

/build

/build/*.log

이런식으로 작성하시면 됩니다.

 

git status 사용법을 확인해보면

-s라는 옵션이 있습니다.

이 옵션을 사용하면 상태를 간략하게 표시해줍니다.

 

~/projects/git > master ✚ > git status -s
A  a.txt
A  b.txt
A  c.txt
?? .DS_Store
?? .gitignore

~/projects/git > master ±✚ > echo add >> c.txt
~/projects/git > master ±✚ > git status -s
A  a.txt
A  b.txt
AM c.txt
?? .gitignore

이런 식으로 간단하게 알파뱃으로 표현을 해줍니다.

 

git status로 저장소의 상태를 확인했지만 

각 파일들의 어떤 부분이 수정되었는지 알 수가 없습니다.

변경 사항을 확인 하기 위해서는 git diff 명령어를 사용합니다.

 

diff --git a/c.txt b/c.txt
index a042389..f5be8ac 100644
--- a/c.txt
+++ b/c.txt
@@ -1 +1,2 @@
 hello world!
+add
(END)

git diff 명령어를 사용하면 이렇게 나오는데

첫번 째 줄의 a/c.txt  b/c.txt에서 a, b는 a는 이전 버전 b는 변경된 버전을 표시합니다.

--- a/c.txt +++ b/c.txt는 이전 파일과 변경된 파일을 비교한다는것을 의미합니다.

@@ -1은 이전 파일에서 첫번째 줄에 hello world!가 나온 상태를 표시

+1,2 @@는 현재 파일에서 첫번째 줄에서 2번째 줄 까지 확인하란 것입니다.

 

 git diff명령어만 사용하면 working 디렉토리의 변경사항만 표시되는데

staging area의 변경사항을 확인하려면

git diff --staged, git diff --cached 명령어를 사용하시면 됩니다.

 

커밋은 다음 글에서...!

 

다음글!

2022.08.09 - [Git] - Git 연습 #2(mac os)

 

Git 연습 #2(mac os)

2022.07.21 - [Git] - Git 연습 #1(mac os) Git 연습 #1(mac os) 깃 설치 brew install git ※ homebrew가 없으시면 https://brew.sh에서 설치 해주세요 Homebrew The Missing Package Manager for macOS (or Linu..

choiiii-dev.tistory.com

 

'Git' 카테고리의 다른 글

Git 연습 #2(mac os)  (0) 2022.08.09