문제

서버에는 메인 브랜치가 체크 아웃되고 파일 전체 더미가 수정되어 커밋되지 않은 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

또한 "잘못된"지점에 커밋하는 경우 분기는 커밋에 대한 포인터 일뿐이기 때문에 항상 해당 브랜치를 다시 옮길 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top