2일차 Git & Github - 초기 설정과 기본 사용법 및 Commit Convention

변승훈·2022년 3월 29일
0

1. Git의 기본 사용

1-1. Git의 초기 설정

기본 초기 설정 시 사용하는 명령어들
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에 해당 깃 주소를 그대로 입력하면 된다.

1-2. Git에서 Github로 push하기

  1. git status - > 현재 Git의 상태를 의미하며 변경 사항이 있는지 확인할 수 있다. 변경 사항이 있으면 Changes not staged for commit 문구가 뜬다.
    git status는 각 구간 마다 한 번씩 사용하여 확인하는 습관을 들이자.
    로컬 저장소로 올리기전의 대기장소 : stage

  2. git add filename : 올리고 싶은 파일 혹은 변경 사항이 있는 file을 등록한다.

  3. git commit : commit 메세지를 작성할 수 있는 vim 환경이 나온다.
    아래의 Commit Convention을 참고하자.

  4. git push origin main 으로 마무리 한다.

  • Github에 push를 한 시간이 내가 실제로 push한 시간과 다르게 보일 때가 있다.
    이는 push를 한 시점이 기준이 아닌 commit을 한 시점을 기준으로 등록되기 때문이다.

  • 로그인을 요구하는 팝업이 뜨는 경우가 존재한다.
    이러한 경우에는 Github에서 나의 프로필 옆의 화살표를 눌러서
    "Settings" -> "Developer Settings" -> "Personal Access Tokens" -> "Generate new token"
    위의 과정을 거쳐 나온 토큰을 생성하여 나온 패스워드를 입력해주면 된다.

1-3. git fetch & git pull의 차이

  • git fetch : 원격 저장소의 데이터를 모두 local로 가져온다.
    코드를 가져와서 fetch라는 임시 브랜치에 담아둔다고 생각하면 된다.
    수동으로 Merge를 해줘야 한다.

  • git pull : 원격 저장소의 정보를 가져오면서 자동으로 local branch에 병합까지 수행시켜준다. 자동으로 merge가 되기 때문에 어떤 내용이 변경 되었는지 확인할 수 없다.

1-4. 분할 commit

작업 단위를 분할하여 commit을 하자!
그 이유는 한번에 commit을 하면 commit할 내용을 적는 것과 어떤 것이 어디에서 바뀐지 찾기 힘들기 때문이다.

하나 씩 git add를 해서 commit하는 습관을 들여보자!

1-5. git init

새로운 폴더에 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 주소와 연결이 된다.

2. Commit Convention

Commit시 지켜야하는 규약이다. 아래의 규약을 따르면 깔끔한 관리가 가능하다!

  1. 커밋 제목은 50자 이내로 요약하여 작성한다.

  2. 제목과 내용사이 한 칸의 여유를 두고 작성한다.

  3. prefix를 사용하여 한 눈에 커밋의 용도를 알기 쉽게 한다.
    작업을 어떻게 나눌 것인가(동작하는 단위로)에 대한 고민을 하고 commit을 하자!

  • feat : 기능개발 (java poject, frontend project..기능 구현일어날때)
  • dosc : 문서작업(.md)
  • conf : 환경설정(npm init)
  • test : 테스트 (본 코드에 대한 테스트 코드 작성, 부산물일경우)
  • fix : 버그 픽스(기능에 대해 mal function, 동작안되거나 잘목되는 경우)
  • refactor : 잘 돌아가는 코드를 inhancement (기능 향상)
  • ci : 기능 개발 시 테스트코드를 자동으로 돌려주어 다른 작업을 할 수 있게 한다.
  • build : 빌드테스트의 부산물을 커밋한다.
  • perf : 퍼포먼스테스트의 부산물을 커밋한다.
profile
잘 할 수 있는 개발자가 되기 위하여

0개의 댓글