[git/github] git 명령어 및 사용법을 알아보자

김진평·2023년 2월 15일
0

git

목록 보기
2/3
post-thumbnail

git 명령어

1. git init

  • 로컬 저장소에 git을 사용할 준비를 하는 과정이다.
  • git init을 하게되면 현재 폴더에 .git이라는 폴더가 생성되며 해당 폴더에서 git 명령어를 사용할 수 있게된다.

2. git status

  • 파일에 수정 및 변경이 일어나면 해당 파일의 상태를 보여주는 명령어이다.

3. git add

  • 커밋하기 전 수정된 파일을 준비시키는 명령어이다.
  • 온라인 쇼핑몰에서 물건을 구매하기 전 장바구니에 넣어두는 것과 유사하다.
  • git add [파일명] => 특정 파일을 add한다.
  • git add . => 현재 폴더의 모든 파일을 add한다.

4. git commit

  • 로컬 저장소에 변경된 파일을 commit한다.
  • git commit -m "msg" => 한 줄 메세지를 포함하여 커밋한다.
  • git commit => 여러 줄 커밋 메세지를 남기고 싶을 때 해당 명령어를 사용한다.

5. git log

  • 해당 명령어를 통해서 커밋된 파일의 히스토리를 파악할 수 있다.

6. git remote

  • 원격에 있는 레포지토리를 로컬에 연결할 때 사용한다.
  • git remote add origin [레포 주소]
  • git remote --v => 현재 연동된 레포 정보를 확인할 수 있다.
  • git remote update => 원격 레포지토리에 등록된 브랜치를 전부 가져온다. (add origin만 할 경우 브랜치는 가져오지 않는다.)

6. git push

  • 로컬 저장소에 커밋된 파일을 원격 저장소에 push하는 명령어이다.
  • 이미 원격 저장소가 생성되어 연동까지 되어있어야 한다.
  • git push [로컬 저장소 별칭][브랜치명] => ex) git push origin master

7. git clone

  • 로컬 PC에 원격 저장소를 복사해온다.
  • git clone [레포지토리 주소]
  • 레포지토리 주소는 아래와 같이 확인할 수 있다.

8. git branch

  • 브랜치 생성 명령어
  • git branch => 현재 존재하는 브랜치 전부 조회
  • git branch [브랜치명] => 새로운 브랜치 생성
  • 브랜치를 생성해도 현재 브랜치에서 새로 생성한 브랜치로 이동하지는 않는다. (별도로 이동해야함)

9. git checkout

  • 브랜치 이동 명령어
  • git branch [브랜치명]

10. git pull

  • 특정 브랜치의 코드를 가져온다.
  • git clone과 유사하지만 아래와 같은 차이점이 있다.
  • git pull : 특정 브랜치의 코드를 가져옴
  • git clone : 원격 저장소 코드를 통째로 가져옴
  • git pull [로컬 저장소 별칭][브랜치명] => ex) git pull origin master

11. git merge

  • 로컬에서 현재 브랜치와 특정 브랜치를 합칠 때 사용한다.
  • git merge [브랜치명]

팀 프로젝트 workflow

위에서 깃 명령어에 대해 알아보았다.
그렇다면 팀 프로젝트는 어떤식으로 진행해야 할까?
정답은 없지만 정리해보고자 한다.

  1. 팀장의 권한을 가진 사람이 레포지토리를 생성한다.
    => 이 때 브랜치는 master 혹은 main 등으로 생성될 것이다.
    => main으로 생성되었다 치고 이어서 작성하려고 한다.

  2. 팀원은 해당 프로젝트에 초대된 후 각각 레포지토리를 clone 한다.
    => git clone을 사용해 레포지토리를 복제한다.

  3. 각 팀원은 본인의 개발 목적에 맞는 브랜치를 생성한다.
    => 이 때 브랜치명은 기능 혹은 목적에 맞게 잘 지어준다.

  4. 코드를 작성한 후 본인의 브랜치로 push한다.
    => 이 때 결과적으로 원격 main, 로컬 main, 원격 branch, 로컬 branch가 존재하게된다.

  5. Pull Request (PR) 과정을 거쳐 원격 branch에 올라간 파일이 원격 main 브랜치로 merge된다.

  6. 다른 팀원은 변경된 사항을 본인의 로컬 및 브랜치에서 사용할 수 있도록, 혹은 코드 최신화를 하기 위해 main branch로 이동 후 git pull을 진행한다.

  7. 이제 팀원의 로컬 main branch에 내가 작업한 사항이 추가되었다.
    이를 다시 각자의 branch로 이동 후 git merge main 명령어를 통해 개개인의 브랜치와 main 브랜치를 병합한다.

위 과정을 그림으로 표현하면 아래와 같다.

0개의 댓글