상황에 따른 git 명령어 (커밋복구, 파일명변경, 중간에 gitignore설정, 원격브랜치 삭제, merge취소, 인증)

2021. 3. 24. 02:10 형상관리/Git

커밋을 잘못했고 푸쉬까지 했을때 복구

git reset --hard HEAD^
git push -u origin +master
git pull

파일 이름변경

작업 디렉토리에 있는 파일의 이름을 변경 할 때는 git mv 명령어를 사용

git mv 원래이름 바꿀이름

git 사용도중에 gitignore 설정

중간에 gitignore 파일을 설정하면 git status 해도 여전히 남아있는데, 이럴 때 다음과 같이 실행하면 적용된다.

git rm -r --cached .
git add .
git commit
git push

원격저장소 브랜치 가져오기

git clone을 통해 로컬로 가져오면 master 브랜치만 가져오는 듯. 협업을 위해 개발브랜치를 가져와야한다면..!!

  • 클론할 때 브랜치명으로 따오기 : git clone -b 브랜치명 URL
  • 원격저장소 브랜치명과 똑같이 만들기 : git branch -a 를 해보면 로컬과 리모트 브랜치가 전부 나온다.
  $ git branch -a
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/test
  remotes/origin/develop
  remotes/origin/hotfixes
  remotes/origin/master
  remotes/origin/work-devljh
  remotes/origin/release
  remotes/origin/feature

 

git checkout -t origin/work-devljh 를 해서 그대로 만들면 된다. git log를 해보면 동일한 걸 확인할 수 있음.

리모트 브랜치 삭제

먼저 삭제할 브랜치에 위치하고 있다면 checkout 으로 다른 브랜치로 옮겨라. 이후 아래 명령어로 브랜치를 삭제할 수 있다. 이렇게 3번 명령어를 날려야하는 이유는 http://sjh836.tistory.com/37 에서 5번을 참조하자

# local 브랜치 삭제
git branch -d 삭제할 브랜치명

# remote 브랜치 삭제
git push origin :삭제된 브랜치명

# ref 브랜치 삭제
git fetch --prune

 

merge 취소

A브랜치에서 B브랜치를 git merge 했지만, 다시 취소하고 싶을 경우가 있다.

git reset --merge ORIG_HEAD

 

github 인증정보 변경

비밀번호를 바꿨다거나 했을때 git에서 인증에 실패한다. remote: Invalid username or password. 아래와 같이 입력하고 다시 remote 에 때린다.

git config --unset credential.helper



출처: https://sjh836.tistory.com/146?category=695128 [빨간색코딩]