개발/git

git 명령어

study-minjeong 2024. 7. 12. 13:10

Git 사용

설정

이름과 이메일 설정

$ git config --global user.name "username"
$ git config --global user.email "email@email.com"

명령어

git init
  • git 초기화
  • 새로운 git 저장소 생성

git clone [url]
  • 저장소 가져오기

git status
  • 깃 저장소의 상태 확인
  • 작업중인 디렉토리에서 변경 사항을 확인 가능

git diff
  • stage가 변경된 파일 확인
  • commit이나 branch 사이, repository와 working directory 사이의 다른점을 보여줌

git branch <new_branch>
  • 새로운 브랜치 생성

git checkout <branch>
  • 브랜치 변경
git checkout .
  • 모든 변경 사항을 취소

git add <인덱스에 등록할 파일명>
  • 파일의 변경 사항을 다음 커밋에 반영

git commit -m "커밋 내용"
  • 메시지와 함께 커밋

git fetch <remote>
  • 원격 저장소의 변경사항 가져오기 전 변경 내용을 확인, 수동 병합 해야함

git pull <remote> <branch>
  • 원격 저장소의 변경사항을 가져오고, 자동 병합함

git push <원격 저장소 이름> <브랜치 이름>
  • 원격 저장소에 변경사항 발행

git remote add <원격 저장소 이름> <원격 저장소 url>
  • 원격 저장소와 연결

git merge <branch>
  • 병합하기

git revert [commit ID]

  • 상태를 되돌림
  • 이전 이력은 그대로 유지

git reset <option> [commit ID]

  • 돌아가려는 커밋으로 리파지토리는 재설정, 해당 커밋 이후의 이력은 없앰

revert vs reset

💡 협업프로젝트에서 다른 팀원과 같은 branch를 공유하는 상황일때, 가급적 'revert'를 사용!

  • reset은 가능하면 로컬 저장소에서만 실행
  • github와 같은 원격 저장소에 올라간 뒤에 reset을 실행하면 이전 커밋 내역들이 전부 삭제, 다른 작업자가 push할 때 충돌 발생