을 밀어 됐어요 :이미 나는이 중복 인 경우 확실하지 않다거나 일회성 시나리오의 종류의하지
은 내가 "베타"지점을 가지고, 새로운 "리팩토링을 시작 "지점.
- "refactor"브랜치에서 많은 코드를 작성했습니다.
- 나는 리팩토링 (
git checkout refactor && git pull origin beta
) - 내 변화가 준비가에 베타 버전에서 최신 변경 사항을 뽑아, 그래서 베타를 체크 아웃, 베타로 리팩토링 변경 사항을 당겼다. (
git checkout beta && git pull origin refactor
) - 그래서 베타에 최신 당겨하는
git pull
을해야했다, 내 베타 분기 최신 아니었다 깨달았다.
은 이제 베타 분기, 최신했다 최신은 (리팩터링 베타에 병합되고 있던 자동 커밋 메시지를 받았습니다)가 있었다 확인하기 위해 다른
- :
- 나는 지금은 내가 잘못했던 두 가지를 실현하고있어 그래서 내 코드 :(
- , 나는 내가 대신
git pull origin refactor
(내가 이런 짓을 왜 월요일이고 난 그냥 시작 베타에 내 멋진 리팩토링 코드를 얻고 싶었다, 나 한테 물어하지의git merge refactor
라고해야 실현 테스트). 나는이 두 가지를 모두 수행했는지 알았습니다. 나중 단계의 어떤 것도 woul이 아닙니다. d가 필요했습니다. 기술적으로, 모든 코드가 미세 보이지만, GitHub의에서 네트워크 그래프는 슈퍼 펑키 보이는, 내가 하나가 깨끗한 "병합"나는 쉽게 롤백 할 수있는 커밋이 없습니다 :
git pull origin refactor
했다. , 내가 가진 그래서 자식이 먼저 끌어 했어야 3 단계에서
를 밀어 베타의 최신 변경 집합은 3 단계에서
그래서 제 질문은 이것이다 합병 된 지점을 되 돌리는 것이 필요하다면 베타는 이제 리팩토링 지점의 모든 개인 커밋을 갖게됩니다. 내 stupified 병합을 롤백하고 더 깨끗한 방식으로 할 수있는 쉬운 방법이 있습니까?
내가 git checkout beta && git reset --hard [email protected]{"1 hour ago"}
일을 시도하지만, 문제는 그 대신에 나는 내가 자식이 먼저 끌어 했어야 할 때 병합을 실행하기 전에 최신 버전 있었어야 베타의 오래된 로컬 버전에 저를 얻을 수있다. 나는 git reset --hard origin/[email protected]{"1 hour ago"}
처럼 리모컨 베타 브랜치 @ 1 시간 전에 다시 설정 한 다음 git merge refactor
을 수행하는 방법이 있어야한다고 생각합니다. 난 그 변경 사항을 추진하고 원격 커밋이 덮어 씌워 졌는지 확인할 수 있을까요?
미리 도움 주셔서 감사합니다. 리팩토링이 꽤 중요하기 때문에 "git reset"을 사용하는 것에 대해 주저합니다. 그리고 베타 버전에서 보류중인 변경 사항이 많아서 리셋과 코드 손실에 대해 걱정하고 있습니다. 내가 수동으로 당겨 된 리팩토링 지점에서 커밋을 되돌리려하는 데에 대한 걱정보다.
아니요, 다른 개발자의 보류중인 변경 사항이 있었기 때문에 리셋 후에 강제로 밀어 넣지 않았습니다. 변경 사항을 삭제하지 않으려했습니다. 리팩토링 담당자의 작업이 끝났으므로이 순간에 번거롭지는 않을 것입니다. 그러나 모든 작업을 되돌리려면 결국 꼭 사용해야합니다. 감사! – streetlogics