2012-06-01 2 views
6

힘내, 나는 때때로 장기 실행 분기에서 일한다. 나는 준비가되었을 때 쉽게 합병을하기 위해 수시로 주인을 퇴역시키는 것을 좋아한다.하나의 명령으로 힘내 원격 지점을 파괴하고 다시 만들 수 있습니까?

리베이스 작업 후, 이전에 푸시 된 브랜치를 리모컨으로 푸시 할 수 없습니다. 내 브랜치의 히스토리가 더 이상 해당 브랜치의 리모트 이력과 일치하지 않기 때문입니다. 그래서 먼저 삭제해야합니다.

이 내 현재 워크 플로우입니다 :

git checkout my_branch 
git rebase master 
git push origin :my_branch # Delete remote version of the branch 
git push origin my_branch # Push up my new version of history on this branch 

마지막 두 명령을 대체 할 수있는 단일 원자 명령이 있는가?

+0

리베이스 된 분기를 푸시 할 수 없다는 것을 알지 못했습니다. 누구나 아는 이유는?! Rebase는 꽤 일반적인 작업 인 것 같습니다. 왜 "그냥 작동하지 않는"것입니까? – Shahbaz

+2

인용하기 http://help.github.com/rebase _ "이미 리모트 Repo에 푸시 한 커밋을 rebase하는 것은 나쁜 습관으로 간주됩니다. 그렇게하면 git 신의 분노를 불러올 수 있습니다 ... 경고되었습니다 . "_ – Stefan

+0

@Stefan, 아 글쎄, 좋은 옛 친구 - 병합 그것은 나에게 달려있다. – Shahbaz

답변

10

원격 지점을 다시 작성할 수있는 경우 git push --force my_remote my_branch을 사용할 수 있습니다.

+2

질문에 따라 문제가 해결되지만 Stefan은 올바른 방향으로 가고 있습니다. 이미 리모컨으로 푸시 한 리베이트 커밋은 일반적으로 좋지 않습니다. – Emily

+0

글쎄, 만약 당신이 그 지점에서 일하는 유일한 사람이라면 아마 괜찮을 것이다. – Stefan

+0

@Stefan - 정확히 내 경우입니다. 그것은 나의 독점적 인 지점입니다. 나는 그렇지 않다. –

관련 문제