Git - 얄코의 TOO MUCH 친절한 깃&깃허브

씩씩한 조약돌·2023년 8월 19일
0

공부 기록✍️

목록 보기
33/37

출처 : (책) 얄코의 TOO MUCH 친절한 깃&깃허브

1. 과거로 돌아가기

reset : 이전 상태로 되돌아가거나 특정 커밋 삭제

  • revert : 이전 상태로 되돌아가면서 새로운 커밋을 생성하여 삭제된 내용을 되돌림 (특히 협업시 사용!!!)

2. 브랜치 합치기

  • merge : 브랜치를 병합하여 하나의
    새로운 커밋을 만듦 (두 브랜치를 이어붙임)
  • A에 B를 merge할거면 A에서 작업
    rebase : 현재 브랜치에서 다른 브랜치의 변경 사항을 가져와 커밋을 재정렬 (브랜치를 다른 브랜치에 옮겨 붙이는 것)
  • A에 B를 rebase할거면 B에서 작업

3. 푸시와 풀

  • 푸시를 하기 전에 풀을 받아야할 때 (원격저장소에 내용이 변경되어있고 로컬에서 작업을 함)
  • git pull --no-rebase : (머지) 로컬과 원격저장소의 작업내용을 동기화 시킨 후에 (로컬에 원격내용을 먼저 붙인 후에) 내 작업을 푸시할 수 있게해줌
    git pull --rebase : (리베이스) 원격저장소 작업내용에 내 작업을 붙여버린 후에 pull

4-1. restore

로컬에서 작업한 상태 = 작업 디렉터리
git add한 상태 = 스테이지 영역

git restore --staged 파일이름 : git add한 상태(스테이지영역)에서 다시 로컬로 가져오기 (커밋할 때 포함되지 않음)
git restore 파일이름 : git add하지않은 상태(작업 디렉타리-파일이 수정되어 저장만 된 상태)에서
할 경우 수정한 내용이 전부 지워짐 (이전 커밋 상태로 돌아감)

4-2. reset

git reset --hard : 작업내역 삭제 (작업 디렉터리에서도 삭제)
git reset --mixed : 작업 디렉터리에는 남겨두고 스테이지 영역에서만 제거 (--mixed는 생략가능)
git reset --soft : 변경사항을 저장소에서 제거하고 스테이지영역에 남겨둠(git add상태)

5. checkout 과거시점으로 이동

git checkout HEAD^
: ^(캐럿) 개수만큼 뒤 단계로 이동
git checkout HEAD~3
: 세 단계 전으로 이동
git checkout -
: 현재 단계에서 한 단계 앞으로 이동
git switch 브랜치이름
: HEAD(브랜치의 끝=가장 최근 작업)으로 이동
git reset --hard HEAD~3
: 3단계 전으로 리셋

6. fetch

pull : 원격저장소의 최신커밋을 로컬로 가져와 머지 또는 리베이스
fetch : 원격저장소의 최신 커밋을 로컬로 가져오기만 함

7. 도움말

git help : 깃 명령어와 간단한 설명
git help -a : 모든 명령어를 볼 수 있음

8. stash 작업하던 내용 잠시 치워두기

git stash : 현 작업 치워두기
git stash pop : 치워둔 작업 다시 살리기
git stash clear : 치워둔 모든 작업 비우기

9. 리셋 취소하기

git reflog : 모든 깃 작업내역을 볼 수 있음 리셋한 커밋에서 바로 이전의 해시 값을 복사해 해당 시점으로 다시 리셋하기
git reset --hard 이전커밋해시값

10. 커밋에 태그 달기

git tag 태그이름 커밋해시값 -m 태그메시지

  1. blame 코드 작성자 확인하기
    git blame 파일이름

VsCode플러그인
GitLens : 코드작성자 확인 가능

profile
씩씩하게 공부중 (22.11~)

2개의 댓글

comment-user-thumbnail
2023년 8월 19일

많은 것을 배웠습니다, 감사합니다.

답글 달기
comment-user-thumbnail
2023년 8월 26일

화이팅!!!

답글 달기