git 현재 체크 아웃 마스터에서 지점 생성 지점?
-
12-09-2019 - |
문제
서버에는 메인 브랜치가 체크 아웃되고 파일 전체 더미가 수정되어 커밋되지 않은 GIT 제어 폴더가 있습니다. 깨끗한 버전으로 돌아갈 수 있도록 별도의 지점으로 변경을 저지르는 방법이 있습니까?
즉, 나는이 모든 사람들이 변경을 취소하고 싶지만 다른 기회에 저장하기를 원합니다. 그 사람이 변경을 원한다면 그 지점으로 전환 할 수 있습니다.
(예, 이것이 Git이 어떻게 작동하도록 설계된 것이 아니라 내 상황이라는 것을 알고 있습니다!) 어떤 아이디어도 대단히 감사합니다.
해결책
우선, 현재 헤드를 기반으로 다른 분기로 이동하는 것과 같이 다음과 같이 수행됩니다.
git checkout -b newbranch
모든 변경 사항을 커밋합니다 (새로 추가 된 파일이 없다고 가정하십시오. git add
그들을):
git commit -a
마스터 브랜치로 돌아 가기 :
git checkout master
이전에 헌신적 인 변경 사항은 모두 Newbranch 지점에 있으며, 마스터는 여전히 변경 사항이없는 상태에있을 것입니다.
다른 팁
이 방법은 유용합니다.
git checkout -B <new_branch> <start point>
어디에:
<new_branch>
새 지점입니다 (예 :my_branch
)<start point>
당신의 시작 지점입니다 (master
귀하의 경우)-B
시작하여 새 지점을 만듭니다<start point>
, 이미 존재하면 재설정합니다 (실패하지 않습니다.-b
지점이 이미 존재하는 경우)- 때때로
-m
분기를 전환 할 때 지정하는 데 유용 할 수 있으므로 현재 분기, 작업 트리 내용 (스크립팅에 유용함) 사이에 3 방향 병합이 수행됩니다.
보다: man git-checkout
자세한 사항은.
항상 변경 사항을 숨길 수 있습니다.
git stash
git checkout -b bravenewmaster
git stash apply
또한 "잘못된"지점에 커밋하는 경우 분기는 커밋에 대한 포인터 일뿐이기 때문에 항상 해당 브랜치를 다시 옮길 수 있습니다.
제휴하지 않습니다 StackOverflow