Премахване на файлове от ангажимент на Git
Използвам Git и съм ангажирал няколко файла с помощта на
git commit -a
По-късно установих, че един файл е бил добавен по погрешка към предаването.
Как мога да премахна файл от последния коммит?
1468
3
ВЪЗМОЖНОСТ! Ако искате само да премахнете даден файл от предишната си ревизия и да го запазите на диска, прочетете отговора на juzzlin's малко по-горе.
Ако това е последният ви commit и искате да изтриете изцяло файла от локалното и отдалеченото хранилище, можете да го направите:
git rm
git commit --amend
Флагът amend указва на git да предаде отново, но да "слее" (не в смисъл на сливане на два клона) този commit с последния commit.
Както е посочено в коментарите, използването на
git rm
тук е все едно да използвате самата командаrm
!Ако не сте прехвърлили промените на сървъра, можете да използвате
Тя ще нулира всички промени и ще се върне към един ангажимент назад
Ако сте изтласкали промените си, следвайте стъпките, на които отговори @CharlesB
Премахването на файла чрез rm ще го изтрие!
В git винаги добавяте, а не премахвате, така че в този случай върнете файла в състоянието, в което е бил преди първото предаване (това може да е действие delete 'rm', ако файлът е нов) и след това го предайте отново и файлът ще изчезне.
За да върнете файла в някакво предишно състояние:
или да го върнете в състоянието, в което се намира в отдалечения HEAD:
след това променете ангажимента и ще видите, че файлът е изчезнал от списъка (а не е изтрит от диска ви!)