project

협업때 자주 쓰이는 git 명령어 정리

nana-log 2023. 9. 7. 14:47

merge

merge를 하기 위해서는 먼저 병합이 될 브랜치(상위 브랜치)로 이동

 

즉, dev브랜치로 이동해서

git merge signup


stash

커밋 하기 애매한 상황일때, git stash를 사용하면 branch 전환 등이 가능하다.

 

[흐름]
git stash -> git pull origin dev -> git stash apply -> git stash drop

[명령어 설명]
git stash : 작업 내용을 임시 보관소에 저장
git stash list: 임시 보관소에 있는 목록 확인하기


git stash apply: 보관소에 있던 작업들 가져오기 (여러 개일 경우 가장 최근 stash를  적용함)
*가져오기: 워킹디렉토리에 적용
git stash apply [stash 이름 ex) stash@{0} ]: 보관소에 여러개가 저장된 경우

 

git stash drop: apply해도 해당 stash는 남아있기 때문에 삭제해주는 명령어 (여러 개일 경우 가장 최근 stash를 제거함)
git stash drop [stash 이름 ex) stash@{0} ]: 보관소에 여러개가 저장된 경우

 

git stash pop: 가장 최근 stash를 가져오고, 해당 stash 스택에서 제거 (git stash apply + git stash drop)


branch

git branch [브랜치명]: 새 브랜치 생성

git checkout -b [브랜치명] / git switch -c [브랜치명]: 새 브랜치 생성 후 해당 브랜치로 전환

git push origin [브랜치명]: Remote Repository에도 생성한 브랜치 반영

 

git branch: 브랜치 목록 확인

git branch -v: 브랜치 목록과 각 브랜치의 최근 커밋 확인

 

git switch [브랜치명] / git checkout [브랜치명]: 브랜치 전환

 

git branch -d [브랜치명]: 로컬브랜치 삭제

git push origin -d [브랜치명]: 원격브랜치 삭제

 

git branch -D [브랜치명]: 병합하지 않은 브랜치 강제 삭제

 

git clone -b [브랜치명] [remote_repo 주소]: 특정 브랜치 클론


commit

git reset --soft HEAD^: commit을 취소하고 해당 파일들은 staged 상태로 워킹 디렉터리에 보존
git reset HEAD^: commit을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉터리에 보존

 

git reset --soft HEAD~1: 마지막 커밋 취소 (사용주의!)


작업 진행 순서

아침에 로컬 dev에서 pull 받기
  -> git pull origin dev
작업할 브랜치 새로 따기
  -> git switch -c [브랜치명]
  ->
작업 후 PR > merge > 브랜치 삭제
  -> 머지 후 작업내용이 없어야 합니다
  -> 깃헙 홈에서 지우셔도 됩니다
  -> 터미널(로컬 dev): git branch -d [브랜치명] 

 

(원격 브랜치 삭제: git push origin --delete [브랜치명])