Já existem ótimas respostas, mas minha situação era entediante. Eu editei a fonte de um software PLM (gerenciamento do ciclo de vida do produto) instalado no Win10 e depois decidi: "Eu provavelmente deveria ter feito disso um repositório git".
Portanto, a opção de cache não funcionará diretamente para mim. Postando para outras pessoas que podem ter adicionado o controle de origem APÓS fazer um monte de trabalho inicial E .gitignore
não funcionar, MAS, você pode ter medo de perder um monte de trabalho,git rm --cached
não é para você.
!IMPORTANTE: Isso porque eu adicionei o git tarde demais a um "projeto" muito grande e parece ignorar o meu .gitignore. Eu nunca comprometo, nunca. Eu posso me afastar com isso :)
Primeiro, acabei de fazer:
rm -rf .git
rm -rf .gitignore
Então, eu tive que ter uma foto das minhas alterações. Novamente, este é um produto de instalação em que eu fiz alterações. Tarde demais para um primeiro commit do branch master puro. Então, eu precisava de uma lista do que alterei desde que instalei o programa adicionando > changed.log
um dos seguintes:
PowerShell
# Get files modified since date.
Get-ChildItem -Path path\to\installed\software\ -Recurse -File | Where-Object -FilterScript {($_.LastWriteTime -gt '2020-02-25')} | Select-Object FullName
Bater
# Get files modified in the last 10 days...
find ./ -type f -mtime -10
Agora, tenho minha lista do que mudei nos últimos dez dias (não vamos entrar nas melhores práticas aqui além de dizer: sim, eu fiz isso comigo mesmo).
Para um novo começo, agora:
git init .
# Create and edit .gitignore
Eu tive que comparar minha lista alterada com meu .gitignore crescente, executando git status
conforme eu a , mas minhas edições no .gitignore são lidas à medida que eu passo.
Finalmente, eu tenho a lista de alterações desejadas! No meu caso, é clichê - alguns temas funcionam junto com sever xml configs específicas para executar um sistema de desenvolvimento nesse software que eu quero colocar em um repositório para outros desenvolvedores aproveitarem e contribuírem ... Este será nosso ramo principal, então comprometendo, pressionando e, finalmente, SUBSTITUINDO novos trabalhos!
.gitignore
arquivo usaANSI
ouUTF-8
codifica. Se ele usa algo maisUnicode BOM
, é possível que o Git não consiga ler o arquivo.