2012-09-18 4 views
11

(아주 쉽게 할 수 있어야처럼이 보인다, 아직 내가 지금까지 검색에 빈 올라오고있어.)힘내 - 특정 태그에 리베이스

내가 업스트림에서 코드의 몸을 가지고 소스, 다양한 버전의 그것에 다양한 버전 태그.

"v1.0"태그를 기반으로하는 "개발"지점에서 작업하고 있습니다. 그 이후로 많은 버전이 나왔지만 "v2.0"이 흥미 롭긴하지만, 개발 브랜치를 "v1.5"로 리베이스하고 거기서 계속 작업하고 싶습니다. 어쩌면 나중에 "v2.0"으로 다시 리베이스 할 것입니다.

(이를 위해 가정 "v1.x"의 같은 분기에 모든 태그입니다. 추가 신용 위해 우리가 "2.0"은 다른 지점에 태그입니다 가정 할 수있다.)

내가 할 수 있었다 "v1.0"태그를 기반으로 초기 "개발"분기를 쉽게 만들 수 있지만 rebase는 분기에서만 작동하는 것처럼 보입니다. 태그를 사용하여 리베이스 할 수 없습니까? 그렇지 않으면 특정 태그에 리베이스하는 것과 똑같은 효과를 내기 위해 올바른 방법이 무엇입니까?

git rebase --onto v1.5 v1.0 develop 

명령의 develop 부분은 지점해야하지만 다른 두 당신이 원하는 무엇이든 될 수 있습니다

+0

태그를 리베이스 할 수 있습니다. 그렇게 할 수 없다면, 사용했던 명령을 포함 시키십시오. –

+0

흠! 나는 TortoiseGit (태그가있는 rebase 옵션을 제공하지 않는 - 또는?) 및 그 다음에 git bash에서 시도했지만 효과가 없다. 그러나 구문 오류가있는 것으로 보인다. 나는 "git rebase v1.5를 개발했다."는 잘못된 것을 시도했다 ... 나는 방금 "git rebase v1.5"를 사용하여 체크 아웃을했고, 효과가있는 것으로 보인다.) 편집 : 사실, 내가 다른 곳에서 찾은 아주 좋지 않은 예였던 이유로 그렇게했습니다. – MartyMacGyver

+0

나는 체크 아웃과 rebase가 이것을하는 표준 방법이라고 생각한다. –

답변

13

는 다음과 같은 명령을 사용합니다.

+0

원래 문법을 망쳐 놓은 것처럼 보입니다. 따라서 제 질문으로 이어집니다. 그리고 tortoisegit의 rebase 옵션에서이 기능이 없다는 것이 분명히 가능했는지 의아하게되었습니다. 그러나이 스레드는 내가 예상 한 것보다 많은 유익한 것으로 입증되었습니다. 감사! – MartyMacGyver

+0

추가 정보 : 나는 이것을 앞뒤로 다시 시도했다. 이것은 실제로 TortoiseGit (조상 태그를 지정할 수 없기 때문에)와 같은 추가 정보를 자동으로 해결할 수있는 불필요한 "충돌"을 던지고있는 내 원래 테스트보다 훨씬 복잡합니다. 커맨드 라인 git 않습니다. 그것은 여전히 ​​편리한 소프트웨어지만 명백하게 그것은 최대한 철저하게 rebases를 처리하지 않습니다. – MartyMacGyver