2025/08/20 git(2)

김기훈·2025년 8월 21일

TIL

목록 보기
2/191

오늘 배운 명령어


git reset --hard/sogt/mixed : 원하는 시점의 커밋으로 이동 / 이동한 커밋을 기준으로 이후의 모든 커밋 이력을 삭제

  • hard : 이전 commit으로 되돌린 후, 그 이후 이력들을 모두 삭제
  • soft : 이전 commit으로 되돌린후, 그 이후 이력들의 내용이 삭제되지 않고 stage에 올라가있어 언제든지 commit을 진행할 수 있는 상태가 됨
  • mixed : 이전 commit으로 되돌린후, 그 이후 이력들의 내용이 삭제되지 않았지만 다시 commit하기 위해 서는 다시 add 명령어를 이용해 stage에 올려 commit을 진행해야 함

git reflog : git reset —hard 로 사라진 커밋을 복구가능

  • git reflog를 이용하여 git log로도 안보이는 사라진 로그를 포함하여 전부 볼 수 있고 거기에서 복구할 로그의 커밋해시를 복사해서 git reset --hard 커밋해시 를 사용하여 복구한다

git revert: 진행사항을 없애고 커밋은 그대로 남아있지만 진행된 내용만 되돌림


branch : git 내부에 독립적인 작업공간을 만드는 명령어

git branch add-coach : add-coach라는 이름의 브랜치 생성
git branch : 브랜치 목록 확인
git switch add-coach : 브랜치 이동
git branch -d (삭제할 브랜치 명) : 삭제
git branch -m (기존 브랜치 명) (새 브랜치명) : 이름변경(이름에 띄어쓰기는 추가 불가)
git log --all --decorate --oneline --graph: 모든 branch commit 이력 볼 수 있음


git merge : 현재 내가 위치한 브랜치에 다른 브랜치의 변경 사항을 반영하는 명령 / 협업시에 merge방식을 사용


git rebase : 브랜치의 이력을 메인 브랜치와 연결지어 하나의 이력으로 만듬

  • 하나의 이력으로 만드는 과정에서 모든 커밋이 재정렬되고 기존 로그의 해시값이 변경되어 충돌 등의 다양한 문제를 만들어 낼 수 있음
  • 합치려는 브랜치에서 시작 하고 메인 브랜치로 이동하여 메인 브랜치와 합치고자 하는 브랜치를 merge 진행해야함

git cherry-pick 커밋 해시 : 다른 branch에서 원하는 commit 가져올 수 있는 명령어

  • 커밋을 복사해서 가젿오기 때문에 커밋을 가져온 브랜치에는 영향을 주지 않는다.

git pull : 나의 레포에 올려져 있는 자료를 최신으로 가져옴


소스 제어

git push + git commit -m "~~~" 를 사용하지 않고 소스제어에서 바로 적용하는것도 가능하다


오늘 발생했던 문제 : git merge 가 잘 실행이 안됨 merge 할게 없다 라고 출력
원인 : 브랜치 생성을 먼저 해놓지 않고 진행중에 브랜치를 생성해서라고 생각중

해결방법 : 처음부터 브랜치를 설정하고 순서대로 진행

결과 : merge에 rebase까지 완료!

profile
안녕하세요.

0개의 댓글