git add/commit

  • # git add <파일명>
    • # git add .
      • 디렉토리에 있는 파일 전부를 Staging Area로 올림 
      • Working Directory에 있는 파일들을 Staging Area로 올림
  • # git status
    • Staging 상태확인
  • # git commit -m "해당commit에 대한 설명"
    • 버전 생성
  • # git log
    • 버전 확인
  • # git commit -am "해당 commit에 대한 설명"
    • add와 commit을 동시에 진행
      • 단, 한번이라도 commit을 한 대상에 대해서만 가능

 

local repository를 github에 push

  • # git remote add origin https://github.com/fastwon1/jaon.git
    • 원격저장소를 origin이라는 이름으로 추가
  • # git branch -M main
    • master branch 이름을 main branch로 변경
      • 2020년 10월 이후 master라는 용어폐기
  • # git push -u origin main
    • 내 repository의 main 브랜치를 origin의 main 브랜치로 push
  • # git remote rm prac1
    • 원격저장소 prac1을 삭제

 

git reset

  • 되돌린 버전 이후의 버전은 모두 사라짐
    • # git reset --hard HEAD^
      • 현재 수정중이던 Working directory의 내용도 HEAD이전 내용으로 되돌아 간다
        • Staging Area와 작업중인 Working directory의 내용이 삭제
    • # git reset --mixed HEAD^
      • default 옵션
      • Staging Area에 올라와있던 내용은 사라지며 작업중이던 Working Directory의 내용은 유지
    • # git --soft HEAD^
      • Repository의 HEAD 이전 버전으로 commit한것만 되돌린다
        • Staging Area와 Working directory의 내용은 유지
    • # git reset --hard ORIG_HEAD
      • reset한 내용을 취소

  • # git reflog
    • 작업했던 commit들이 기록조회

 

Branch

  • master branch
    • 다른 branch들이 뻗어나가는 시초 branch

  • # git branch
    • branch 리스트확인
    • * master
      • 현재 master branch를 사용중임을 표시

 

  • # git branch test_branch
    • test branch라는 브랜치 생성

 

  • # git checkout test_branch
    • branch 변경

 

  • # git checkout -b test_branch
    • branch 생성 후 branch switch

 

  • # git diff
    • 변경 내역들간의 비교
      • 두 commit간 비교
        • # git diff <비교대상commit> <기준commit>
      • 원격 repository와 local repository간의 비교
        • # git diff <비교 대상 branch이름> origin/<branch 이름>

 

  • # git log
    • 버전확인
    • # git log --all --decorate --graph --oneline
  •  
  • reset vs revert
    • reset : 시간을 과거의 특정 사건으로 되돌림
    • revert : 현재를 기준으로 과거의 사건들을 없던일로 되돌림
      • 되돌린 버전 이후의 버전들은 모두 유지

 

git reset option

Working directory
Working tree
Working copy
index
staging area
cache
repository
history
tree
    git reset --soft
  git reset --mixed
git reset --hard

 

용어

  • HEAD : 현재 작업 중인 branch/commit 중 가장 최근 커밋한 버전
  • ^ : 가장 최근 커밋으로부터 하나 버전 이전으로 되돌림
  • ^^ : 가장 최근 커밋으로부터 두개 버전 이전으로 되돌림

'기타 > git' 카테고리의 다른 글

git tag  (0) 2021.07.23
git stash  (0) 2021.07.16
gistory .git 디렉토리 분석  (0) 2021.07.11
git / github  (0) 2021.07.11
git/github 설치 및 초기화  (0) 2021.01.21

+ Recent posts