Limpar todos os arquivos não elimina o histórico. Você precisa primeiro criar um branch sem histórico e adicionar seus arquivos de configuração. Hoje em dia git checkouttem uma --orphanopção que faz uma filial sem histórico. Aqui estão as informações sobre a --orphanopção:
--orphan <new_branch>
Crie um novo branch órfão, denominado <new_branch>, iniciado a partir de <start_point> e mude para ele. O primeiro commit feito neste novo branch não terá pais e será a raiz de uma nova história totalmente desconectada de todos os outros branches e commits.
O índice e a árvore de trabalho são ajustados como se você tivesse executado anteriormente "git checkout <start_point>". Isso permite que você inicie um novo histórico que registra um conjunto de caminhos semelhantes a <start_point> executando facilmente "git commit -a" para fazer o commit do root.
Isso pode ser útil quando você deseja publicar a árvore de um commit sem expor seu histórico completo. Você pode querer fazer isso para publicar uma ramificação de código aberto de um projeto cuja árvore atual é "limpa", mas cujo histórico completo contém bits de código proprietários ou de outra forma sobrecarregados.
Se você deseja iniciar um histórico desconectado que registra um conjunto de caminhos que é totalmente diferente daquele de <start_point>, então você deve limpar o índice e a árvore de trabalho logo após criar o branch órfão executando "git rm -rf. " do nível superior da árvore de trabalho. Depois disso, você estará pronto para preparar seus novos arquivos, repovoando a árvore de trabalho, copiando-os de outro lugar, extraindo um tarball, etc.
Aqui está um link para a documentação de check-out . Você também pode correr git help checkouttambém.
Depois de criar seu branch sem histórico, quando você o enviar para o servidor, ele também não terá esse histórico. FWIW, isso me ajuda a pensar git pushcomo "fazer o branch remoto parecer igual ao meu local". Portanto, se você tiver história e empurrar, terá história. Se você não fizer isso, o branch enviado não.