반응형
원격 저장소에서 분기의 새 사본을 얻는 방법은 무엇입니까?
내 친구의 지역 master
지점은 분명히 재앙입니다 (우연한 merge
s와 commit
s를 통해 ). 그러나 그의 개발 브랜치는 괜찮지 만 원격으로 푸시 할 준비가되지 않은 변경 사항이 포함되어 있습니다.
master
원격 master
지점으로 로컬 지점을 재정의하고 다른 지점을 재정의하지 않고 새 복사본을 얻는 가장 좋은 방법은 무엇입니까 ?
Jefromi가 말했듯이,
git checkout master
git reset --hard origin/master
옳은 일을합니다 : 마스터를 원래 상태로 설정합니다. (이미 master
브랜치 에있는 경우 첫 번째 명령을 생략 할 수 있습니다.) 브랜치의 리플 로그도 그대로 둡니다.
이전 열등한 답변 :
git checkout dev
git branch -D master
git checkout master
이렇게하면 다른 브랜치 (이 경우 "dev"– 보유하고있을 수있는 다른 브랜치를 선택)로 전환하고 로컬 master
브랜치를 삭제 한 다음 다시 생성합니다 remotes/origin/master
(설정 및 Git 버전에 따라 작동하지 않을 수 있음). 마지막 명령은 종종 다음과 같습니다.
git checkout -b master remotes/origin/master
위의 새로운 답변과 비교할 때 이것은 reflog가 파괴되고 다시 생성된다는 단점이 있으며 (즉, 필요한 경우 쉽게 취소 할 수 없음) 여기서 일어나는 일이 명확하지 않습니다. 또한 삭제 및 재생성 중에 전환 할 수있는 다른 분기가 있어야합니다 (원래 질문의 경우).
Paŭlo Ebermann의 대답은 정확합니다.
git checkout master
git reset --hard origin/master
추적되지 않은 파일과 무시 된 파일도 제거하려면 다음을 추가 하십시오.
git clean -xfn # dry run with -n
자세한 내용이있는 소스 : 현재 Git 작업 트리에서 로컬 (추적되지 않은) 파일을 제거하는 방법은 무엇입니까?
반응형
'developer tip' 카테고리의 다른 글
render 메서드 내에서 promise를 사용하여 React 구성 요소 렌더링 (0) | 2020.11.28 |
---|---|
유형이 익명인지 테스트하는 방법? (0) | 2020.11.28 |
int 배열 선언 (0) | 2020.11.28 |
소멸자, 폐기 및 종료 방법의 차이점 (0) | 2020.11.28 |
Xcode는 메인 스토리 보드를 어떻게로드합니까? (0) | 2020.11.28 |