본문 바로가기

프로그래밍 - 활용/버전관리

[Git bash] 지옥에서 온 Git -1

깃 허브에 코드를 올릴 때, 소스트리만 사용하다보니 한글로 단 주석이 깨지는 것을 막을 방법을 찾지 못하였다 😭

무한 구글링에 무한 적용을 해보았지만 실패를 거듭했다 (혹시 답을 아시는 분이 있다면 Help...! 🙌🏻🙌🏻)

그래서 미루고 미루었던 Git Bash 사용을 배우기로 결심했다 😳!!

 

평소 애정하는 생활코딩의 강의인 '지옥에서 온 Git'을 보기로 결정!

📌 지옥에서 온 Git

 


🔎 git config

누가 작성한 것인지 확인을 위하여, git 사용 처음할 때 선언해주는 용도
git config --global user.name (자신의 이름)
git config --global user.email (자신의 이메일 주소)

 

🔎 git init

버전 관리를 위한 용도

1. 작업할 파일 공간 만들기

pwd
cd Documents/
mkdir gitfth
cd gitfth

2. 작업하는 공간에 무엇이 있는지 확인

ls -al

3. .git 파일 생성하기 for 버전관리

git init

 

🔎 git add

작업한 내용물을 commit 대기 상태로 변환하는 것

1. vim을 이용하여 파일 생성하기

vim f1.txt

2. 새로운 화면으로 들어가게 됨 - 내용 작성

(1) i를 눌러 작성하고자 하는 내용을 타이핑

(2) ESC를 눌러 작성 종료

(3) : wq를 타이핑하기 (w:작성, q:종료)

(이 부분은 밑에서도 .txt 파일을 다룰 때 반복적으로 활용되는 과정!)

 

3. 작업하는 공간에 파일이 생성된 것 확인

ls -al

.git 파일 & f1.txt 파일이 생성된 것을 확인할 수 있음

 

4. 작성한 내용을 확인 (vim이 아닌 더 효율적인 방법)

cat f1.txt

 

5. 현재의 상태 확인하기

git status

작성을 완료한 f1.txt가 Untracked되었다는 것을 확인할 수 있음

 

6. 버전 관리를 위해 add 해주기

git add f1.txt

 

7. 현재의 상태 확인하기

git status

f1.txt 파일이 초록색으로 변하며, 잘 add된 것을 확인할 수 있음

 

🔎 git commit (버전 만들기)

1. add한 것을 commit해주기

git commit

새로운 화면에 vim 파일을 작성한 것과 동일한 방법으로,

커밋 메세지를 작성하기!

(여기서 f2.txt의 커밋 메세지를 작성하고 있는 것은 무시해주길 😉)

 

2. commit이 제대로 되었는지 확인(역사를 확인하는 방법)

git log

1이라는 커밋 메세지를 확인할 수 있음

 

🔎 작성한 파일 내용 변경하기

1. 앞에서 작성한 것과 동일하게, vim f1.txt 를 들어가서 내용 변경

2. git status로 붉은 색의 f1.txt가 표시된 것을 확인

3. git add f1.txt

4. git status로 초록 색의 f1.txt가 표시된 것을 확인

5. git commit

6. git log

커밋 메세지 1에서 2로 차례대로 변화된 것을 확인할 수 있음

 

🔎 원하는 파일만 커밋을 하고 싶을 때?

add가 필요한 순간이다!

 

👉🏻 f1.txt만 commit 하고싶어요! 

f1.txt만 초록색, f2.txt는 여전히 붉은 색으로 표시되는 것을 확인할 수 있음

 

🔎 stage와 repository

stage

add를 하게 되면 작업한 파일이 커밋 대기 상태로 변하게 됨

대기 상태란? stage area라고도 부른다!

즉, add를 하면 stage에 올라가는 것

repository

commit을 하게 되면 add한 결과물이 이동하는 저장소

 

🔎 git log

변화된 내용을 보여주는 것

📌 버전의 변화를 자세히 보여주는 것

git log -p

🧷 파일의 변화

--- 부분: 전 버전의 파일

+++ 부분: 현 버전의 파일

--- /dev/null
+++ b/f2.txt

전에는 파일이 없었지만, 현재는 파일이 새로 생성되었다는 것을 의미한다!

 

🧷 내용의 변화

- 부분: 전 버전의 내용

+ 부분: 현 버전의 내용

-souce : 2
+f1.txt : 4

전의 내용은 'souce : 2'이었지만, 현재 내용은 'f1.txt : 4'라는 것을 의미한다!

 

📌 commit은 각각의 주소(id)를 가지고 있다

git log (커밋 주소)

해당 커밋을 한 시점까지의 버전을 보여준다!

(-p가 아닌 그냥 log 했을 때의 화면으로)

 

🔎 git diff

두 커밋의 차이점을 보고싶은 경우
git diff (첫 번째 주소)..(두 번째 주소)

[ 첫 번째 주소 .. 두 번째 주소 ] 가 [ ---부분 .. ++부분] 으로 나오게 된다!

 


요약하자면

git init
git status 
git add (파일)
git status
git commit (파일)

-
확인을 원한다면?

git log
git log -p
git dliff (주소)..(주소)