SOJU 2기 🍾

Git, Github 기초 뽀개기 👊

HYEMBURGER 2023. 3. 26. 15:48

불이 났다면, 먼저 commit 하고 push 한다음 건물을 떠나라!

 

🍾 서론

그동안 깃허브를 사용하지 않은 건 아니지만, 확실히 잘 모르고 사용해 왔다.

add, push, commit ... 등등등등 여러 용어를 단 하나도 제대로 알지 않은 채 '레포지토리 복제'라는 기능으로 사용해 왔다.

공부해야지!! 하면서도 다른 게 바쁘다는 핑계로 미루기를 몇 달째... 드디어 했다. 깃, 깃허브 기초 공부! 

 

 


 

 

Git ?

버전을 편리하게 관리할 수 있도록 도와준다.

=> 즉, 작업하는 파일들을 원하는 순간으로 다시 돌아갈 수 있게 해 준다.

 

 

workflow

0. git 초기화 (+ 삭제)

프로젝트의 시작에는 언제나 git을 초기화해주어야 한다.

git init

 

+ git을 삭제해야 할 때는 git 이 설정되어 있는 디렉토리에서 아래 명령어, 옵션을 사용한다.

rm -rf .git

 

1. working directory

프로젝트 파일 수정, 추가가 이루어진다.

프로젝트의 상태는 두 가지로 나눌 수 있다.

- untracked 

- tracked 

🍔 untracked -> git add 명령어 사용 -> tracked

git add .
// untracked인 모든 파일을 add 하여 tracked 상태로 만든다

 

2.  staging area (tracked)

tracked 상태가 된 프로젝트의 version history를 저장할 준비가 완료되었다.

commit 하면 git directory 에 저장된다!

 

🍔 커밋메시지 작성

git commit -m "커밋메시지"

 

3. git directory !

git 저장소에 저장 완료!

 

여기까지가 local 에서의 흐름이다.

Github 서버와 연동하여 사용할 때는 push(서버로 보내기) / pull(서버에서 가져오기) 명령어를 사용한다.

 

커밋 메시지를 작성할 때 주의할 점!
커밋할 코드에 맞는 내용만 작성하자.
예를 들어 A라는 기능을 고쳤다면 A를 고쳤다고 메시지 작성.
그리고 A라는 기능 고치려고 했는데 신나게 A 고치고 B도 고치고 C도 고치고 ...
몽땅 합쳐서 커밋하지 말고, 기능별로 별개의 커밋하기!

 


 

 

 

alias (명령어 단축어 설정)

git config --global alias.단축어 단축어로바꿀명령어

 

 

git config --global core.editor "code --wait"

config 파일을 vscode에서 열어 편집할 수 있게 해 준다.

--wait을 붙인 건, vscode에서 config파일을 열었을 때 terminal은 나를 기다려주는 상태가 된다는 뜻!

 

gitignore

git에 올리고 싶지 않은 파일에 설정한다.

ex. 확장자 log 인 파일을 커밋하고 싶지 않다!

echo *.log > .gitignore

 

tracked -> untracked

tracked 파일들을 다시 untracked 로 돌리고 싶다면

git rm --cached 파일.확장자(혹은 . = 모든 파일)

 

 

 

 


 

 

Github 연동하기!

나중에 까먹을 것 같은 나를 위해 적어둔다.

 

1. 원하는 프로젝트 폴더에 git 초기화

git init

 

2. 폴더 내 파일(untracked)을 tracked

git add . (혹은 파일명.확장자)

 

3. version history (commit!)

git commit -m "commit message"

 

4. Github 에 repository 를 만들어서 혹은 이미 만들어둔 repository 와 연결

git remote add origin 레포지토리주소복붙

 

5. push! (Github에 upload)

git push origin master(branch name)

 

 

처음 설정할 때 이 순서를 따르면 된다.

만약에 그 이후에 계속해서 push 하고 싶다면 2-3-5 를 반복하자!

 

그리고 그때그때 add 된 상태가 궁금하다면 git status 를 (나는 status 를 st 로 축약설정 해둔 상태!)

repository와 잘 연결되었는지 궁금하다면 git remote -v 를 사용해 확인한다.

 

 

 

 


🤓  참고

git 공식문서

깃, 깃허브 제대로 배우기 - 드림코딩 엘리

Git, Github 안내서