É possível fazer git svn dcommit resultado em um único svn commit?
Solução
Se você trabalha em uma filial no git, você pode git-merge --squash
, que faz que dentro de git. Você poderia, então, empurrar aquele esmagado comprometer com SVN.
Claro, lotes de pequenas commits são boas, então por que você iria querer esmagar-los?
Outras dicas
O git rebase -i
comando pode fazer isso e muito mais. Este comando é extremamente poderoso, por isso é bom para fazer amigos com ele.
A sintaxe é: git rebase -i <commit ID>
. Isso traz seu editor de texto, com opções (e instruções) para modificar todos os commits até (não incluindo) o ID fornecido.
Por exemplo, para modificar os anteriores 5 commits, você pode fazer isso:
git rebase -i HEAD~5
Ou se o seu ramo SVN é chamado "svn / trunk", em seguida, esta sintaxe é muito bom:
git rebase -i svn/trunk
Em seguida, uma janela de editor de texto irá aparecer. Para tudo squash, alterar a primeira palavra de cada linha após a primeira de "pegar" para "abóbora" (Se isso soa confusing- ele vai fazer mais sentido quando você vê-lo). Em seguida, salvar e fechar o editor. Então você vai ter a oportunidade de editar a mensagem de confirmação para o esmagado cometer.
Entre as outras coisas que você pode fazer com git rebase -i
, estão reordenando commits, esmagando commits de diferentes maneiras, e remover commits.
Eu uso este comando constantemente; é uma característica do assassino do Git.
Ryan Tomayko escreveu um pouco sobre git rebase -i
, que ele disse:
... [é] um pouco como git commit --amend pulou em ácido e segurando uma serra elétrica - completamente insano e bastante perigoso, mas capaz de expor inteiramente novos estados de espírito. Aqui você pode editar, squash, reordenar provocar uma separação, e comete annotate existentes em uma forma que é mais fácil e intuitiva do que deveria ser.
Eu tenho uma tendência a cometer muitas vezes em git, mas não necessariamente quer dcommit todas comprometer com svn, e esmagando todo o meu trabalho faz tão pouco sentido. Estou tentando agora para reordenar e esmagar alguns juntos em mais lógico unidades cometer agora.