2017-01-18 11 views
2

나는 origin/master를 origin/master에서 얼마 전에 생성 한 브랜치에 origin/master를 리베이스하고 있는데 현재 브랜치에서 일한 개발자는 사용할 수 없다.대화 형 리베이스가 숨겨져있는 것을 숨길 수 있습니까?

기능 분기의 첫 번째 커밋에서 일부 충돌을 해결했지만 개발자가 리베이스를 완료하는 방법을 알기를 기다려야합니다.

이미 다른 작업으로 이동할 수 있도록 (~ 30 분) 충돌 해결 방법을 유지할 수 있습니까?

답변

3

모두 git stash은 커밋하기입니다. (글쎄요, 두 개의 커밋이지만이 시점에서 중요하지 않습니다. git stash 커밋은 아니요, 브랜치에 있으며 이상하게 구성되어 있지만 핵심은 커밋을 만드는 것입니다. 망할 놈의 파일은. 심지어 망할 놈의 git notes는 숨겨 놨다처럼, 그들은 나뭇 가지에 아니지만, 파일을 저장 할, 그래서 그들은 커밋합니다! 커밋 수 있습니다.)

당신이이 git stash로 커밋 할 수 있다면, 당신은 함께 커밋 할 수 있습니다 git commit.

병합 충돌 해결을 완료하지 않은 경우 그렇지 않으면 기본적으로 중단됩니다. 은 커밋하기 전에 모든 충돌을 해결해야합니다. 자세한 내용은 How can I save a git "rebase in progress"?을 참조하십시오.

새 Git이 git worktree add 인 새로운 사용자가있는 경우 각각 다른 분기에 여러 개의 작업 트리를 설정할 수 있습니다. 각 작업 트리는 자신의 인덱스을 얻습니다. (다른 질문과 답변이 중요한 이유 참조) "the"인덱스에 병합 충돌이있는 진행중인 리베이스를 남겨두고 다른 작업의 다른 브랜치로 전환 할 수 있습니다 - 트리하고 평범한 일을하십시오. 즉, "the"인덱스는 이제 작업 트리 인덱스입니다. 따라서 병합 충돌이 "해당"인덱스에서 "사실상"하나의 작업 트리를 "잠급니다"하지만 다른 것은 아닙니다.

+0

의견을 보내 주셔서 감사 드리며, 이는 두려운 상황에서 일어나는 일에 대한 단서를 제공합니다. 나는이 질문이 나를 토끼의 구멍으로 이끌 것이라고 상상하지 못했습니다 ... – cellover

0

나중에 rerere를 사용하면 해상도를 기록 할 수 있습니다. 이렇게하면 즉시 rebase에 30 분이 남지는 않겠지 만 많은 도움이됩니다. 기본적으로 중단 한 지점까지 해상도를 확인하십시오. rerere가 Git의 표준으로 나오지 않는 이유를 모르겠습니다. 너무 유용합니다.

+0

미래에는 대답을 편집하고 모든 아이디어를 단일 답변으로 집중할 수 있습니다. –

0

다른 두뇌로 죽는 간단한 해결책은 단순히 git 저장소, mid-rebase가 들어있는 전체 폴더를 복사하는 것입니다. 이것은 항상 작동해야합니다. 완료되면 해당 폴더를 삭제하는 것이 좋습니다 (리베이스 및 푸시).

0

또 다른 아이디어는 커밋하고 브랜치 중간 리베이스를 작성한 다음 나중에 git cherry-pick을 사용하여 리베이스되지 않은 커밋을 나중에 남겨 두는 것입니다.