Ci sono già ottime risposte, ma la mia situazione era noiosa. Avevo modificato la fonte di un software PLM (Product Lifecycle Management) installato su Win10 e successivamente ho deciso "Probabilmente avrei dovuto farlo diventare un repository git".
Quindi, l'opzione cache non funzionerà direttamente per me. Pubblicare per altri che potrebbero aver aggiunto il controllo del codice sorgente DOPO aver fatto un sacco di lavoro iniziale E .gitignore
NON funziona MA, potresti avere paura di perdere un sacco di lavoro, quindi git rm --cached
non fa per te.
! IMPORTANTE: Questo perché ho aggiunto git troppo tardi a un "progetto" troppo grande e che sembra ignorare il mio .gitignore. Non ho mai commesso, mai. Posso andare via con questo :)
Innanzitutto, ho appena fatto:
rm -rf .git
rm -rf .gitignore
Quindi, ho dovuto avere una foto delle mie modifiche. Ancora una volta, questo è un prodotto di installazione su cui ho apportato modifiche. Troppo tardi per un primo commit di puro ramo master. Quindi, avevo bisogno di un elenco di ciò che ho cambiato da quando avevo installato il programma aggiungendo > changed.log
a uno dei seguenti:
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
bash
# Get files modified in the last 10 days...
find ./ -type f -mtime -10
Ora, ho la mia lista di ciò che ho cambiato negli ultimi dieci giorni (non entriamo nelle migliori pratiche qui se non per dire, sì, l'ho fatto da solo).
Per un nuovo inizio, ora:
git init .
# Create and edit .gitignore
Ho dovuto confrontare il mio elenco modificato con il mio .gitignore in crescita, eseguendolo git status
man mano che lo miglioravo, ma le mie modifiche in .gitignore vengono lette mentre procedo.
Infine, ho l'elenco delle modifiche desiderate! Nel mio caso è boilerplate - alcuni temi funzionano insieme a gravi configurazioni XML specifiche per l'esecuzione di un sistema di sviluppo su questo software che voglio mettere in un repository per consentire ad altri sviluppatori di afferrare e contribuire su ... Questo sarà il nostro ramo principale, quindi impegnarsi, spingere e, infine, BRANCHING per nuovi lavori!
.gitignore
file usiANSI
oUTF-8
codifichi. Se utilizza qualcos'altroUnicode BOM
, è possibile che Git non riesca a leggere il file.