깃(Git) 명령어 정리 (remote, fetch, checkout, log, add, commit, push, pull)

Hyerin·2022년 9월 14일
1

충돌방지 실행 권장순서

pull => coding => commit => pull => push

  • 충돌을 최소화하기 위해서 자신의 저장소와 원격 저장소의 상태를 자주 업데이트할 것

remote

  • 저장소는 각자의 고유한 브랜치(branch)를 생성하고 관리한다. 원격 저장소에 생성한 브랜치를 리모트 브랜치(remote branch)라고 한다.
$ git remote add origin https://github.com/(깃허브이름)/Infra.git
$ git remote add upstream (Github주소)
$ git remote -v
origin  https://github.com/(깃허브이름)/Infra.git (fetch)
origin  https://github.com/(깃허브이름)/Infra.git (push)


git fetch

  • 원격 저장소에서 코드를 수동으로 내려받는 작업이다.
  • 원격 저장소에서 커밋된 코드를 임시 브랜치로 내려받는다. 내려 받은 후 현재 브랜치와 자동 병합하지 않는다.
# upstream 주소의 branch를 모두 가져온다.
$ git fetch upstream
From https://github.com/(깃허브이름)/Infra
 * [new branch]      feature/(username)   -> upstream/feature/(username)
 * [new branch]      main                 -> upstream/main
 * [new branch]      test                 -> upstream/test

git checkout

  • 현재 branch를 떠나 새로운 branch로 이동한다.
  • 깃은 하나의 워킹 디렉토리만 갖고있기 때문에 한 브랜치에서만 작업과 커밋을 할 수 있다. 다른 브랜치에서 새로운 작업을 하려면 반드시 브랜치를 변경하여 워킹 디렉토리를 재설정해야 한다.
rhleh@DESKTOP-MINGW64 ~/Documents/(깃허브이름)/Infra (main)
$ git checkout feature
Switched to branch 'feature'

rhleh@DESKTOP-MINGW64 ~/Documents/(깃허브이름)/Infra (feature)


git log

  • 현재까지 작업한 로그 기록을 확인한다.
  • --graph 옵션을 함께 사용하면 로그를 출력할 때 브랜치 흐름도 같이 출력한다.
  • --graph --all을 사용하면 모든 로그를 출력한다.
  • q를 눌러서 종료한다.
rhleh@DESKTOP-CUOREN7 MINGW64 ~/Documents/(깃허브주소)/Infra (feature/(user-name))
$ git log
commit 309ac6aae53c540f892f092edc4267a14025ebeb (HEAD -> feature/(user-name))
Author: HYERIN0718 <(깃허브 이메일주소)>
Date:   Tue Sep 13 13:50:14 2022 +0900

    create vpc.tf


주의사항

파일을 생성할 때에는 터미널에서 파일을 생성하지 말고 인텔리제이 UI 디렉토리에 들어가서 NEW 로 생성하자


git add

  • 워킹 디렉토리에 파일을 추가하면 untracked(추적되지않음) 상태이다.
  • 이때 git add를 실행해서 스테이지 영역에 등록하고 tracked(추적) 상태로 변경해야 한다.
rhleh@DESKTOP- MINGW64 ~/Documents/(깃허브주소)/Infra (feature/(username))
$ git add hello.txt


git commit

  • 변경된 파일 차이를 깃 저장소에 기록한다.
  • 생성된 객체를 기록하는 것과 동시에 이를 구별할 수 있는 메시지를 같이 작성해야 한다.
  • -s => 개발자의 싸인
  • -m => 커밋메시지를 작성
  • -a => 커밋을 하기 전에 자동으로 모든 파일을 등록하는 과정을 미리 수행함
$ git commit -m "create vpc.tf"
[hyerin 531e704] create vpc.tf
 1 file changed, 123 insertions(+)
 create mode 100644 vpc.tf

git push

  • 원격 저장소로 로컬 깃 저장소의 커밋된 파일들을 업로드하는 작업이다.
$ git push origin(원격저장소) main(브랜치이름)

Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 222 bytes | 222.0 KiB/s, done
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/(깃허브주소)/Infra.git
* [new branch]   main -> main

git pull

  • 원격 저장소의 갱신된 내용을 추가로 내려받는 작업이다.
  • 로컬 저장소보다 최신인 갱신된 원격 저장소의 커밋 정보를 현재 로컬 저장소로 내려받는다.
  • pull 명령어를 주기적으로 사용하면 최신 커밋 정보로 로컬 저장소를 유지할 수 있다.
$ git pull 

remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Writing objects: 100% (3/3), 222 bytes | 222.0 KiB/s, done
remote: Total 3 (delta5 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/(깃허브주소)/Infra.git
	4864581.. 6a94fd   main -> origin/main
Updating 4864581.. 6a94fd 
profile
DevOps, 코딩 기록

0개의 댓글