기본 초기 설정 시 사용하는 명령어들
git config --list
: 확인
git config --global user.name ""
git config --global user.email ""
git config --global core.editor "vim"
git config --global core.pager "cat"
git config --global --unset
: 잘못 입력 했을 경우 삭제하기 위한 명령어
git clone gitcloneurl
: 해당 깃 주소에 등록된 파일들이 불러와진다.
gitcloneurl에 해당 깃 주소를 그대로 입력하면 된다.
git status
- > 현재 Git의 상태를 의미하며 변경 사항이 있는지 확인할 수 있다. 변경 사항이 있으면 Changes not staged for commit 문구가 뜬다.
git status는 각 구간 마다 한 번씩 사용하여 확인하는 습관을 들이자.
로컬 저장소로 올리기전의 대기장소 : stage
git add filename
: 올리고 싶은 파일 혹은 변경 사항이 있는 file을 등록한다.
git commit
: commit 메세지를 작성할 수 있는 vim 환경이 나온다.
아래의 Commit Convention을 참고하자.
git push origin main
으로 마무리 한다.
Github에 push를 한 시간이 내가 실제로 push한 시간과 다르게 보일 때가 있다.
이는 push를 한 시점이 기준이 아닌 commit을 한 시점을 기준으로 등록되기 때문이다.
로그인을 요구하는 팝업이 뜨는 경우가 존재한다.
이러한 경우에는 Github에서 나의 프로필 옆의 화살표를 눌러서
"Settings" -> "Developer Settings" -> "Personal Access Tokens" -> "Generate new token"
위의 과정을 거쳐 나온 토큰을 생성하여 나온 패스워드를 입력해주면 된다.
git fetch
: 원격 저장소의 데이터를 모두 local로 가져온다.
코드를 가져와서 fetch라는 임시 브랜치에 담아둔다고 생각하면 된다.
수동으로 Merge를 해줘야 한다.
git pull
: 원격 저장소의 정보를 가져오면서 자동으로 local branch에 병합까지 수행시켜준다. 자동으로 merge가 되기 때문에 어떤 내용이 변경 되었는지 확인할 수 없다.
작업 단위를 분할하여 commit을 하자!
그 이유는 한번에 commit을 하면 commit할 내용을 적는 것과 어떤 것이 어디에서 바뀐지 찾기 힘들기 때문이다.
하나 씩 git add
를 해서 commit하는 습관을 들여보자!
새로운 폴더에 git init
을 하면 repository를 만들게 된다.
가상의 stage와 local repository를 만들게 되는데 이렇게 되면 remote repository가 없다.
-> Github 등의 원격 저장소에서 repository를 만들고 directory 이름을 똑같게 만든다.
이후 git remote add origin url
를 입력하면 git clone
과는 다르게 받아오는 내용이 없고 해당 원격 저장소와 연결만 되는 상태가 된다.
즉, 하나 하나 작업을 다시 진행해서 push를 하거나 git pull <remote> <branch>
로 해당 url에 있는 작업 내용들을 받은 이후 작업을 해야한다.
git init은 조심히 사용 해야 한다.
git init
을 취소 시키는 방법은 .git을 지우면 된다.
-> rm -rf .git
(이후 ls -a
로 확인)
git branch name을 맞춰줘야 한다.
git branch -M name
(ex master -> main : main으로 바꾸는 이유는 최근 이름 바꾸기 운동이 일어나고 있어서이다.)
서로 상관 관계에 대해 연결이 안되어 있는 상태이기에, local에서 github으로 보낼 때 둘 다 같은 상태로 유지하기 위해 다음의 방법을 사용한다.
git push -u 받는사람별명 브랜치이름
: (u: upstream set)
git remote remove name
: 해당 name의 branch 제거
git remote add name
: 해당 name의 branch 추가
git remote
: 현재 프로젝트에 등록된 remote 저장소를 확인할 수 있다.
git remote -v
: 해당 branch의 github 주소가 나온다.
git remote add origin url
: 해당 github 주소와 연결이 된다.
Commit시 지켜야하는 규약이다. 아래의 규약을 따르면 깔끔한 관리가 가능하다!
커밋 제목은 50자 이내로 요약하여 작성한다.
제목과 내용사이 한 칸의 여유를 두고 작성한다.
prefix를 사용하여 한 눈에 커밋의 용도를 알기 쉽게 한다.
작업을 어떻게 나눌 것인가(동작하는 단위로)에 대한 고민을 하고 commit을 하자!
- feat : 기능개발 (java poject, frontend project..기능 구현일어날때)
- dosc : 문서작업(.md)
- conf : 환경설정(npm init)
- test : 테스트 (본 코드에 대한 테스트 코드 작성, 부산물일경우)
- fix : 버그 픽스(기능에 대해 mal function, 동작안되거나 잘목되는 경우)
- refactor : 잘 돌아가는 코드를 inhancement (기능 향상)
- ci : 기능 개발 시 테스트코드를 자동으로 돌려주어 다른 작업을 할 수 있게 한다.
- build : 빌드테스트의 부산물을 커밋한다.
- perf : 퍼포먼스테스트의 부산물을 커밋한다.