HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
Git Bash 명령어

Git Bash 명령어

 
git은 이전 파일이랑 현재를 비교 최종 완성 코드를 저장하기에 diff를 일일이 비교하는 svn 방식보다 빠르다
 

HEAD: 내가 현재 작업하는 로컬 브랜치

init


  1. git init : local 레포지토리 생성 → remote 레포지토리 연결해줘야 됨

clone


  1. git clone ${ git레포 url }. : 현재 폴더에 로컬 레포 생성
  1. git clone ${ git레포 url } : url 뒤에 마침표 없으면 새 폴더 생성 후 로컬 레포 생성
 

remote


  1. git remote -v: 연결된 git 저장소 확인
  1. git remote remove origin: 해당 git 저장소 연결 삭제
  1. git remote add <저장소명><git주소>: 해당 git 저장소 로컬과 연결
 

add


  1. git add . : 가장 최근 변경된 내용 전부 stage에 올리기
  1. git add “파일명” : 해당 파일만 stage에 올리기

commit


  1. git commit —amend : 가장 최근 commit한 내역 수정 , 끝나면 esc - :wq
  1. git commit -m “메세지” : 해당 메시지로 변경 사항들 commit

push


  1. git push origin 브랜치명 : 연결된 github 저장소 해당 브랜치로 commit한 파일 전송
  1. git push -f origin 브랜치명 : 강제로 전송 (최악의 경우)

fetch


  1. git fetch origin 브랜치명 : 해당 브랜치의 내용 다운 병합은 안됨
    1. → 충돌 방지, 바뀐 내용만 확인 만약 괜찮으면 pull로 병합!

pull


  1. git pull origin 브랜치명 : 해당 브랜치의 내용으로 최신 업뎃 ( 파일 다운+ 병합)

merge


  1. git checkout 브랜치1 → git merge 브랜치2 : 브랜치1에서 브랜치2의 내용 병합( 팀원이 pull request하면 팀장이 이렇게 merge)
 

충돌한 경우

    stash


    1. git stash : 코드 백업하기
    1. git stash drop: 최근 백업 코드 삭제
    1. git stash drop stash명 : 해당이름의 stash만 삭제
    1. git stash clear: 백업 전부 삭제
    1. git stash apply stash명: 원하는 stash 복구
     
    만약 코드를 잘못된 branch에서 작성했을때 작성한 코드를 git stash로 백업 후, 원상태 복구하면 된다. 그리고 git checkout 원하는 브랜치명으로 전환한 뒤 백업코드를 해당 branch에서 복구하면 됩니다.
     

    reset


    1. git reset HEAD^ : 가장 최근 push한 내역 삭제 → git push -f origin main 해서 github 저장소와 로컬 저장소 동일하게 만들어 주기 (나쁜 방법)
    • mixed: 해당 단계로 reset , 변경 사항은 unstaged
    • hard: 해당 단계로 reset, 변경 사항도 삭제
    ⇒ git push -f origin main 이런식으로 reset 후 push

    revert


    1. git revert :reset 순한 맛 삭제 후 commit 아니고 이전 내용을 push 하는 느낌

    cherry-pick


    1. git : 탐나는 commit만 따로 떼서 push

    amend


    1. git commit —amend: 커밋 단계일 때 커밋 내용 변경
    1. git commit --amend --no-edit --date "Thu May 14 13:15:56 2020 +0900"
     
    내 브랜치 history 변경

    branch, checkout, switch


    1. git branch : 현재 자신과 연결된 branch 목록
    1. git branch -d 브랜치명 : 해당 branch 삭제
    1. git branch -D 브랜치명: 위명령어가 안들을 때 강제 삭제
    1. git branch 브랜치명 : 브랜치명으로 브랜치 생성
    1. git checkout 브랜치명 : 해당 브랜치로 전환 (요즘X)
    1. git checkout -b 브랜치명 : 위 두 명령어 합친 것 (요즘X)
    1. git switch 브랜치명 : 해당 브랜치로 전환
    1. git switch -c 블랜치명: 해당 브랜치명으로 새 브랜치생성
     
    • 보통 협업시 기능은 feat/기능이름, 수정은 fix/수정명으로 브랜치를 생성하고 dev 또는 main으로 merge → 완성후 release 브랜치에 올림

    상태확인


    1. git status : 현재 로컬 저장소 변경내역, github 저장소와 상태차이 확인
    1. git log : push된 내역 일람
     

    협업방식

    1. fork한 뒤 내 repo에서 작업 후 pull request하는 방법
    Git을 이용한 협업: Fork 부터 Pull Request 까지
    Git은 쉽고 효율적인 버전 관리를 통해 커뮤니티(Github)에 공유된 Open Source 프로젝트 또는 개인 및 단체의 Private Source에 접근, 생성, 수정 할 수 있도록 하는 도구이다. 이 포스트에서는 Github에 업로드 되어있는 source에 접근해 작업하고 Pull Request 하기까지 타인과 협업하면서 프로젝트를 개발하는 일반적인 협업 전략과 그 방법에 대해 알아본다.
    Git을 이용한 협업: Fork 부터 Pull Request 까지
    https://seungwubaek.github.io/tools/git/contributing_using_pull_request/#page-title
    Git을 이용한 협업: Fork 부터 Pull Request 까지
    장점: fork한 건 내 레포라 맘대로 수정해도 된다
    단점: 원본 저장소의 변경 사항을 즉각적으로 반영하기 불편, 전체적인 협업자들의 작업 history를 보기 힘듬
    1. collaborator 같은 repo의 팀원 각각의 branch에서 작업후 pull request
    [Git] Github 같은 저장소 함께 쓰기(feat.협업하기)
    안녕하세요🍍 Foma🍍 입니다! 오늘은 Git으로 같은 저장소를 함께 쓰면서 협업하는 법에 대해서 정리해보겠습니다. 바로 시작할게요! (Visual Studio 기준으로 설명드리겠습니다.) Github으로 들어가서 New버튼을 눌러 새로운 저장소를 만들어주세요. 원하는 저장소 이름을 적고 Create Repository를 눌러줍니다. 만들어준 저장소의 Settings로 들어가서 왼쪽 탭에 있는 Manage access를 눌러줍니다. Inviete a collaborator 버튼을 눌러 함께 할 사람을 찾아줍니다.
    [Git] Github 같은 저장소 함께 쓰기(feat.협업하기)
    https://fomaios.tistory.com/entry/Git-Github-%EA%B0%99%EC%9D%80-%EC%A0%80%EC%9E%A5%EC%86%8C-%ED%95%A8%EA%BB%98-%EC%93%B0%EA%B8%B0feat%ED%98%91%EC%97%85%ED%95%98%EA%B8%B0
    [Git] Github 같은 저장소 함께 쓰기(feat.협업하기)
    장점: 원본 저장소에 모두 작업하기에 history 보기가 좋다.
    단점: 협업자가 많아지면 branch도 많아짐
    1. pull request와 코드 리뷰
    GitHub으로 협업하기: 클론부터 코드 리뷰까지
    코드 리뷰는 다른 사람이 작성한 코드를 검토하며 궁금한 부분에 대해 질문을 하거나, 버그가 있는 부분을 알려주거나, 더 효율적으로 개선할 수 있는 부분을 찾아 피드백을 주며 서로의 코드를 개선해나가는 과정을 말합니다. 다른 사람이 내 코드를 보고 피드백을 준다는 것이 마치 숙제 검사처럼 느껴지기도 하고 괜스레 부끄럽게 느껴질지도 모르지만 너무 무서워하지 않으셔도 됩니다.
    GitHub으로 협업하기: 클론부터 코드 리뷰까지
    https://xo.dev/github-collaboration-guide/
    GitHub으로 협업하기: 클론부터 코드 리뷰까지
     
    1. commit msg 작성법
    좋은 git 커밋 메시지를 작성하기 위한 8가지 약속
    본 글은 Chris Beams의 How to Write a Git Commit Message 블로그 내용을 토대로 편집하고 내용을 추가한 것입니다. 왜 커밋 메시지를 잘 쓰기 위해 노력해야 할까요? 이유는 서로 다를 수 있지만, 잘 쓰인 커밋 메시지가 더 유익하다는 사실에는 많은 프로그래머들이 공감할 것으로 생각합니다. 좋은 커밋 메시지의 목표 중 대표적인 3가지를 꼽아보았습니다.
    좋은 git 커밋 메시지를 작성하기 위한 8가지 약속
    https://djkeh.github.io/articles/How-to-write-a-git-commit-message-kor/
    좋은 git 커밋 메시지를 작성하기 위한 8가지 약속
    [Git] 규칙적인 Commit 메세지로 개발팀 협업하기👾
    Git을 통해 코드를 유지하는 경우 커밋 메세지를 통해 해당 commit의 작업 내용을 입력하게 됩니다. 그렇다면 규칙이 없는 상태에서 여러 개발자가 동시에 커밋 메세지를 작성하면 어떻게 될까요? 위에서 살펴본 커밋 메세지는 컨벤션이 없는 경우 입니다. 같은 동작에 대한 메세지 기록인데도 불구하고 누구는 대문자로 또는 엑션 단어를 적어주지 않거나 메세지 내용을 구체적으로 작성하지 않는 경우로 메세지의 형태는 가지 각색입니다.
    [Git] 규칙적인 Commit 메세지로 개발팀 협업하기👾
    https://xtring-dev.tistory.com/entry/Git-%EA%B7%9C%EC%B9%99%EC%A0%81%EC%9D%B8-Commit-%EB%A9%94%EC%84%B8%EC%A7%80%EB%A1%9C-%EA%B0%9C%EB%B0%9C%ED%8C%80-%ED%98%91%EC%97%85%ED%95%98%EA%B8%B0-%F0%9F%91%BE
    [Git] 규칙적인 Commit 메세지로 개발팀 협업하기👾
     
    1. pull request 작성법
    github pull request template 만들기
    npm으로 plugin을 만들다 보면, 다른 분들의 plugin 만드는 방식들을 살펴보는 경우가 많습니다. 주로 유명한 플러그인 (React 또는 Babel 등등..) 을 살펴보게 됩니다. 특히나, 오픈소스로 공개하는 것이기 때문에, 다른 개발자분들이 보시고 문제가 있는 부분들을 지적하실 수도 있고 이슈에 대한 사항을 보내는 경우도 있으실 수 있지요...
    https://medium.com/@trustyoo86/github-pull-request-template-%EB%A7%8C%EB%93%A4%EA%B8%B0-7d0637bd89de
    github pull request template 만들기

    참고

     
    1. git commit —amend —no-edit —date : commit 시간 바꾸기
    [GIT] commit 날짜 및 시간 변경하는 방법(amend)
    git commit 날짜 및 시간을 변경해보려고 한다.실수로 커밋을 잘못하거나 혹은 저녁 늦게 커밋하다가 그날 커밋을 놓친경우(필자의 경우) 사용하면 좋은 방법이다. git commit --amend --no-edit --date "$(date)" 날짜 및 시간도 현재시점으로 변경됩니다. git commit --amend --no-edit --date "Sun 3 Oct 2021 12:34:56 KST" * 요일, 일, 월, 년, 시간, 한국시간기준쌍따옴표("") 안에 내용을 원하는 날짜로 변경해주면 됩니다.
    [GIT] commit 날짜 및 시간 변경하는 방법(amend)
    https://habitual-history.tistory.com/entry/git-commit-%EB%82%A0%EC%A7%9C-%EB%B0%8F-%EC%8B%9C%EA%B0%84-%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95amend?category=1011215
    [GIT] commit 날짜 및 시간 변경하는 방법(amend)