한 번만 더 해보자

깃 명령어 정리 본문

Linux

깃 명령어 정리

정 하임 2023. 12. 21. 21:42

초기설정

깃 초기화

git init

전역 사용자명/이메일 구성

git config --global user.name “Your name”

git config --global user.email “Your email address”

출력색깔 변경

git config --global color.ui auto

사용자 정보 확인

git config --list

저장소 복제

git clone 저장소

 

 

 

파일 올리기

새로운 파일 추가 + 커밋

git add 파일
git commit -m "메세지"

파일 제거

git reset 파일이름
# 파일 이름 안적으면 모두 제거

pull 받기

git pull origin main

push 하기

git push origin 브랜치

안전하게 브랜치로 먼저 넣고 깃에서 머지하는게 좋음

 

 

 

브랜치

브랜치 목록보기

git branch
# option
# -r : 원격 브랜치 목록 보기
# -a : 지역, 원격을 포함한 모든 브랜치 목록 보기

브랜치 생성

git branch 브랜치_이름

브랜치 이동

# 이미 생성된 브랜치로 이동
git checkout 브랜치 이름

# 브랜치 생성하면서 이동
git checkout -b 새 브랜치 이름

브랜치 삭제

# 원격 브랜치 삭제
git push <원격 저장소 이름> -d <원격 브랜치 이름>
#ex
git push origin -d branch-name

# 로컬 브랜치 삭제
git branch -d <로컬 브랜치 이름>
#ex
git branch -d branch-name

 

 

 

git 이력보기

모든 이력보기

git log
# option
# -p 변경사항을 보여주는 패치와 함께 표시

 

 

 

에러 났을 때

git push 취소

  • local 내용을 remote에 강제로 덮어쓰기 하기때문에 주의해야함!
  • 되돌아간 commit 이후 모든 commit 정보가 사라지기 때문에 주의해야함!
  1. 워킹 디렉터리에서 commit 되돌린다.
    • 가장 최근의 commit을 취소하고 워킹 디렉터리를 되돌린다.
    # 가장 최근의 commit을 취소 (기본 옵션: --mixed)
    $ git reset HEAD^
    원하는 시점으로 워킹 디렉터리를 되돌린다.
    
    # Reflog(브랜치와 HEAD가 지난 몇 달 동안에 가리켰었던 커밋) 목록 확인
    $ git reflog 또는 $ git log -g
    
    # 원하는 시점으로 워킹 디렉터리를 되돌린다.
    $ git reset HEAD@{number} 또는 $ git reset [commit id]
    
  2. 되돌려진 상태에서 다시 commit을 한다.
  3. $ git commit -m "Write commit messages"
  4. 원격 저장소에 강제로 push 한다.
    // Ex) master branch를 원격 저장소(origin)에 강제로 push
    $ git push origin +master
    
  5. $ git push origin [branch name] -f # 또는 $ git push origin +[branch name]

 

 

git commit 취소하기

reset revert

• 되돌려야 하는 커밋이 로컬에만 존재하는 경우에만 사용  
• 해당 커밋을 아예 삭제하고 커밋 기록을 변경  
• 협업하는 프로젝트 브랜치에 reset 을 실행하면 다른 팀원이 새로운 커밋을 push할 때 브랜치에 충돌 발생함 • 되돌리려는 커밋이 이미 원격 저장소로 푸쉬된 경우에 사용
• 변경내용을 취소하는 새 커밋 생성하기 때문에 커밋기록을 덮어쓰지 않음  
git revert 커밋해시 git reset [--soft
git revert 커밋해시
  • revert : 취소하고 싶은 특정 커밋의 내용을 되돌리는 새로운 커밋을 만듦
git reset --soft 커밋해시
  • reset : 마지막 커밋 실행취소 가능
  • 커밋 기록이 변경되지 않기때문에 주의해야함!
  • --soft : 커밋되지 않은 변경사항이 손실되지 않음
git reset --hard HEAD~1
  • --hard : 가장 최근 커밋으로 되돌리고 unstaged 상태의 변경사항을 모두 제거
  • 최신 커밋뿐만 아니라 커밋되지 않은 변경사항도 취소됨

 

이미 있는 깃에 올리기

  1. 폴더 생성
  2. git clone 하기
  3. 수정한 파일로 파일 덮어쓰기
  4. 깃 올리기
반응형