개발 도구 (Development Tools)/Git

협업시 주니어 개발자 입장에서 자주 사용하는 Git 명령들

BiCute 2022. 10. 31. 08:00
반응형

 

현재 브랜치 확인

git branch

 


 

브랜치 변경하기

 

STEP.1 브랜치 만들기

git branch {branchname}

ex) git branch BiCute

 

 

STEP2. 브랜치 전환한기

git checkout {branch}

ex) git checkout BiCute

 

 

한번에 브랜치 만들고 전환하기 (-b 옵션)

git checkout -b {branch}

ex) git checkout -b BiCute

 

 


 

특정 브랜치만 clone 하는 방법

 

git clone -b {branchname} --single-branch {저장소 URL}

 

ex) git clone -b DUCK --single-branch http://bicute.tistory.com:3000/bicute/clone_sample

 

 


 

특정 브런치만 pull 하는 방법

 

git pull origin {branchname}

ex) git pull origin DUCK

 

 


 

ERROR

 

GIT PUSH 중 충돌

  ![rejected]  (non-fast-forward)

 

git --force push origin <branch name>

강제로 밀어서 해결 가능하지만 협업시 타인의 커밋 정보 또한 덮어써버려 원격 저장소와의 작업 내용이 동기화가 끊어지게 만들수도 있기에 주의가 필요.

 

 

GIT PULL 중 충돌

  error: Your local changes to the following files would be overwritten by merge:

 

git stash로 해결 가능

 - 현재 디렉토리의 파일을 임시로 백업하고 깨끗한 상태로 돌린다. 

 - 버전관리 되는 대상 파일들을 임시저장 해둔다고 보면 된다. 

 

STEP.1 해당 명령어를 통해 현재 Staging 영역에 있는 파일의 변경사항을 스택에 넣어 둔다.

git stash

 

 

STEP.2 master에서 pull하거나, git checkout 등 원격 저장소에서 내 로컬 브랜치로 변경사항을 적용한다.

git pull origin master

 

 

STEP.3 변경 사항을 적용하고, 스택에서 제거 한다.

git stash pop

 

 

위 과정을 한번에 실행 할 수도 있다.

git stash && git pull origin master && git stash pop

 

 


 

원격 저장소에 PUSH 한 마지막 Commit 삭제하기

 

STEP.1 (오프라인에서) 가장 최근의 commit 되돌리기

git reset HEAD^

 

 

STEP.2 commit을 되돌렸다는 것(지웠다는 것)을 원격 저장소에도 알려주기

git push -f origin {branchname}

ex) git push -f origin BiCute

  

 


 

작업내용 잠시 보관하기(stash)

 

STEP.1 stash에 보관하기

git stash

 

 

STEP.2 stash 목록 확인하기

git stash list

 

 

STEP.3 가장 최근의 stash 가져오기

git stash apply

 

 

STEP.4 남아있는 가장 최근의 stash 스택 제거하기

git stash drop

 

 

한번에 stash 가져오고 스택 제거하기

git stash pop

 

 

 

+@ 이름 지정해서 stash 저장하기

git stash save “내용작성”

 

 

+@ 원하는 stash 제거

git stash drop {stash 번호}

ex) git stash drop stash@{1}

 

 


 

작업 도중 master branch의 데이터를 pull 하기

 

STEP.1 작업 변경 사항을 브랜치에 커밋

git add .
git commit -m {message}

 

 

STEP.2 마스터 파일 pull

git pull origin master

 

 

STEP.3 변경 사항을 푸시

git push origin {branch name}

ex) git push -f origin BiCute

master에서 받아온 내용을 적용하여 해당 분기에 push를 하게됩니다.

 

 


※ 대충 git이 어떻게 돌아가는지 익혔다면 빠르게 소스트리(Sourcetree) 같은 Git GUI로 갈아타도록 하자.

여러가지 장점이 있지만 주니어 입장에서는 한 파일내에서 특정 줄만 push를 한다거나 할 수 있어,

나만의 작업을 위한 테스트 코드를 쓸데없이 마스터에게 보내지 않아도 되기 때문에 병합하는 사람의 스트레스를 줄여 줄 수 있다.

반응형