Como copiar todos os arquivos em um diretório de outra ramificação? Eu posso listar todos os arquivos nesse diretório fazendo
git ls-tree master:dirname
Eu posso copiar todos os arquivos individualmente fazendo
git checkout master -- dirname/filename
No entanto, o uso de curingas até agora foi uma falha total. Isso não faz nada:
git checkout master -- dirname/*.png
Embora eu acho que posso usar um script bash para fazer isso, tem que haver uma maneira mais fácil, certo?
git checkout master -- dirname; git add dirname; git commit -c $COMMIT_SHA1 --reset-author;
onde$COMMIT_SHA1
poderia serbranch_a
e seria o objeto de confirmação que tem a mensagem de confirmação que você deseja. Eu não sei de antemão como determinar programaticamente o commit com a alteração mais recente paradirname
dirname
mais, mas também copia quaisquer arquivos que estão no.gitignore
domaster
ramo. Alguma idéia do porquê disso?cherry-pick
. Ele aplica confirmações de outras ramificações, mas apenas os arquivos que foram alterados nas confirmações que você deseja.Se não houver espaços nos caminhos e você estiver interessado, como eu estava, apenas em arquivos de extensão específica, poderá usar
fonte
git checkout master -- *.c