자주 쓰는 Git 명령어

나르·2022년 2월 13일
0

개발일기

목록 보기
5/14
post-thumbnail

🌿 Branch

# list
git branch
# create
git branch <branch>
# move/rename
git branch -M [<oldbranch>] <newbranch>
# delete
git branch -D <branch>
# remote 에 존재하지 않는 refs 를 지우고 fetch
git fetch --prune

📌 Commit & Push

git status   # 변경 사항 확인
git add <file>   # -A 옵션으로 전부 추가 가능
git commit -m "commit message"
git push origin <branch>

Pull & Rebase

git pull origin <branch>

# rebase
git rebase <rebase할 branch>

🤝 Merge

# from other branch
git merge <branch>
# from remote
git pull origin <branch>
# conflict 수정 후
git merge --continue

🎁 Stash

# checkout, pull 등을 위해 변경 내용을 잠시 저장해둠
git stash
git stash pop

# 삭제된 stash 복구
$ git stash pop
[...]
Dropped refs/stash@{0} (6790f92aa2a6b0a4e72189390d211b11d8187267)
$ git stash apply 6790f92aa2a6b0a4e72189390d211b11d8187267

♻️ Reset

# 변경사항이 staging 된 상태로 reset
git reset --soft
# 변경사항이 unstaging 된 상태로 reset
git reset --mixed
# 변경사항 폐기된 상태로 reset (취소 불가)
git reset --hard

# 최근 커밋
git reset HEAD^
# n 커밋 전
git reset HEAD~n

# 원격 저장소에 이미 푸시한 내용을 리셋할 때
git push origin <branch> -f
# git reset --soft 취소
git reflog    # 이전까지 작업한 로그가 뜸
git reset --hard <돌아갈 HEAD>
(ex)
git reset --hard HEAD@{1}

🍒 Cherry-pick

# 다른 브랜치에서 커밋한 내용 중 원하는 커밋만 cherry pick
git cherry-pick <commit>

✏️ commit 메세지 수정

# 최근 커밋
git commit --amend -m "commit 수정"
# 과거 커밋
git rebase -i <수정을 시작할 커밋의 바로 이전 커밋>
[...]
pick 907c451 commit1
pick 1a7c765 commit2
pick v07c952 commit3
pick 40jc438 commit4

###
pick (default): 커밋 사용
reword: 커밋 메시지 변경
edit: 커밋 메시지+작업 내용 변경
###
git rebase --continue
profile
💻 + ☕ = </>

0개의 댓글