빨간색코딩

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

Git

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

빨간색소년 2018. 4. 9. 16:49

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

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


Comments