-
Git, Github 기초 뽀개기 👊SOJU 2기 🍾 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 를 사용해 확인한다.
🤓 참고
'SOJU 2기 🍾' 카테고리의 다른 글
📝 JavaScript 기초 강좌 기록 (하) (2) 2023.04.25 📝 JavaScript 기초 강좌 기록 (상) (0) 2023.04.25 🍾 HTML, CSS 복습 (2) 콘텐츠 모델, 시멘틱 마크업 (0) 2023.04.10 🍾 HTML, CSS 복습 (1) (0) 2023.04.10 Git, Github 기초 뽀개기 👊 (2) (0) 2023.04.01