Ak pracujete v Git, stávajú sa nehody. Možno ste omylom vložili súbor, ktorý tam nemal byť, alebo váš príkaz nie je veľmi jasný. Toto sú len niektoré scenáre, kedy možno budete chcieť vymazať súbor z odovzdania.

Táto príručka vám presne povie, ako odstrániť súbor z odovzdania a prečo by ste mali byť mimoriadne opatrní pri odstraňovaní súboru Git.
Ako odstrániť súbor z Git Commit
Existuje niekoľko spôsobov, ako odstrániť súbor z odovzdania Git, v závislosti od toho, či ide o lokálne odovzdanie alebo ste ho už presunuli do vzdialeného repo. Jednoduchým spôsobom by bolo vymazať celé odovzdanie v Git , ale ak chcete zachovať väčšinu súborov, tu je návod, ako môžete použiť „git reset“ na odstránenie súboru z lokálneho úložiska:
- Použite git log na nájdenie odovzdania, ktoré obsahuje súbor, ktorý chcete odstrániť.
![Git: Ako odstrániť súbor z Commit Git: Ako odstrániť súbor z Commit]()
- Spustite git reset –soft HEAD^, aby ste zrušili posledné odovzdanie, ale ponechali zmeny v pracovnej oblasti.
![Git: Ako odstrániť súbor z Commit Git: Ako odstrániť súbor z Commit]()
- Zrušte fázu súboru, ktorý chcete odstrániť, pomocou git reset HEAD .
"v termináli" width="578" height="363" data-recalc-dims="1" data-src="https://i0.wp.com/www.alphr.com/wp-content/uploads/ 2023/12/Removing-a-File-From-a-Commit-Step-by-Step-3.png?resize=578%2C363&ssl=1" data-srcset="https://i0.wp.com/www .alphr.com/wp-content/uploads/2023/12/Removing-a-File-From-a-Commit-Step-by-Step-3.png?w=578&ssl=1 578w, https://i0. wp.com/www.alphr.com/wp-content/uploads/2023/12/Removing-a-File-From-a-Commit-Step-by-Step-3.png?resize=300%2C188&ssl=1 300w , https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/Removing-a-File-From-a-Commit-Step-by-Step-3.png?resize =510%2C320&ssl=1 510w, https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/Removing-a-File-From-a-Commit-Step-by- Step-3.png?resize=400%2C250&ssl=1 400w, https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/Removing-a-File-From-a -Commit-Step-by-Step-3.png?resize=302%2C190&ssl=1 302w" data-sizes="(max-width: 578px) 100vw, 578px">
- Znova potvrďte zvyšok súborov pomocou git commit -m 'Vaša správa odovzdania.'
![Git: Ako odstrániť súbor z Commit Git: Ako odstrániť súbor z Commit]()
Od aktualizácie Git 2.23.0 môžete tiež použiť „git restore“ takto:
- Zadajte git restore –staged a nahraďte „filepath“ súborom, ktorý chcete odstrániť.
" príkaz v príkazovom riadku" width="578" height="363" data-recalc-dims="1" data-src="https://i0.wp.com/www.alphr.com/wp-content /uploads/2023/12/git-restore-1.png?resize=578%2C363&ssl=1" data-srcset="https://i0.wp.com/www.alphr.com/wp-content/uploads/ 2023/12/git-restore-1.png?w=578&ssl=1 578w, https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/git-restore-1 .png?resize=300%2C188&ssl=1 300w, https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/git-restore-1.png?resize=510% 2C320&ssl=1 510w, https://i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/git-restore-1.png?resize=400%2C250&ssl=1 400w, https: //i0.wp.com/www.alphr.com/wp-content/uploads/2023/12/git-restore-1.png?resize=302%2C190&ssl=1 302w" data-sizes="(max-width : 578px) 100vw, 578px">
- Potom commit: git commit -c ORIG_HEAD .
![Git: Ako odstrániť súbor z Commit Git: Ako odstrániť súbor z Commit]()
Ďalšou alternatívou úplného odstránenia súboru je urobiť toto:
- Odstráňte súbor pomocou git rm .
![Git: Ako odstrániť súbor z Commit Git: Ako odstrániť súbor z Commit]()
- Nahraďte „názov súboru“ skutočným názvom súboru.
- Potvrdiť s príznakom zmeny zadaním príkazu git commit –amend .
![Git: Ako odstrániť súbor z Commit Git: Ako odstrániť súbor z Commit]()
Príkaz „rm“ odstráni súbor z pracovného stromu aj z indexu. To znamená, že bude úplne preč z miestnych aj vzdialených repozitárov. Je to užitočný príkaz, keď sledujete súbor a neskôr sa rozhodnete, že ho už netreba sledovať, takže ho môžete vymazať z celého projektu.
Môžete tiež zvážiť odstránenie samotnej vetvy Git, ak chcete odstrániť všetky potvrdenia a súbory vo vetve.
Prečo odstrániť súbor z Git Commit?
Existuje niekoľko dôvodov, prečo možno budete musieť odstrániť súbor z odovzdania Git. Poďme sa na pár pozrieť.
Zjednodušenie histórie záväzkov
Vo veľkých a zložitých projektoch môže byť história odovzdania príliš zaťažená zmenami, aktualizáciami a opravami. A niektoré z týchto zmien jednoducho nemusia byť. Niekedy môže byť potvrdený súbor, ktorý nijako neprospieva pokroku alebo prehľadnosti projektu – ako napríklad experimentálna funkcia, ktorá sa nepresadila, alebo dočasný súbor, ktorý prekročil svoju vítanosť.
Odstránenie takýchto súborov z potvrdení môže výrazne upratať históriu vášho projektu a uľahčiť členom tímu pochopenie časovej osi vývoja. Ak ste súčasťou tímu, jasná a stručná história odovzdania pomáha členom vášho tímu zosúladiť sa s vývojom vášho projektu a udržuje ich v obraze bez toho, aby strácali čas dešifrovaním zložitého kódu.
Oprava chýb
Oprava chýb je možno najčastejším dôvodom na odstránenie súboru z odovzdania v systéme Git. Napríklad ste mohli meškať s projektom a v zhone ste omylom pridali súbor denníka ladenia do vášho odovzdania. Alebo ste si po potvrdení uvedomili, že ste zahrnuli verziu súboru, ktorá nie je konečná alebo aktuálna, ale je to starší WIP. Prípadne môže byť súbor niečo úplne nežiaduce alebo škodlivé.
V takýchto situáciách vymazanie súboru z odovzdania zachová integritu vašej histórie odovzdania a ochráni ju od nepotrebných alebo potenciálne škodlivých súborov. Chcete zabezpečiť, aby sa do konečného návrhu dostal iba zamýšľaný obsah.
Odstránenie citlivých alebo utajovaných údajov
Je to jednoduchšie, ako by sa mohlo zdať omylom spáchať citlivé údaje. Je to však chyba, ktorá môže mať vážne dôsledky. Napríklad kľúče API sú v súčasnosti veľkou súčasťou mnohých projektov kódovania, najmä s nárastom AI a intenzívnejšou webovou integráciou. Kľúče API sú však súkromné a musia byť chránené pred zvedavými očami. Mohli by ste pracovať na novej funkcii pomocou rozhrania API a omylom potvrdiť súbor, ktorý obsahuje kľúč alebo konfiguračný súbor s povereniami databázy.
Tento druh dohľadu môže spôsobiť bezpečnostné chyby a potenciálne vystaviť citlivé informácie neoprávneným osobám. V takýchto scenároch presahuje odstránenie súboru z potvrdenia jednoduchú opravu chýb – je to niečo, čo musíte urobiť, najmä ak pracujete ako súčasť tímu alebo pre spoločnosť. Je to podobné, ako keď si uvedomíte, že ste omylom zdieľali dôverný dokument vo verejnom priečinku a rýchlo ho presunuli na bezpečné miesto.
Čo treba mať na pamäti
Niekedy nie je odstránenie súboru z úložiska také jednoduché, ako by ste chceli. Vyhnite sa týmto možným problémom.
Konflikty úložiska
Odstraňovanie súborov z verejných alebo zdieľaných potvrdení nie je niečo, čo by ste mali robiť náhodne. V závislosti od povahy súboru a typu projektu to môže značne frustrovať alebo zmiasť členov vášho tímu. Navyše to spôsobuje konflikty medzi ich lokálnymi úložiskami a vzdialenými. Pred odstránením súboru sa teda krátko porozprávajte so svojím tímom a vysvetlite im, čo robíte a prečo.
Môže to byť také jednoduché, ako odoslanie správy na chatovacej platforme vášho tímu alebo jej uvedenie na stand-up stretnutí. Tento heads-up nie je len o zdvorilosti. Umožňuje členom vášho tímu pokračovať v prerušenej práci. Otvára tiež dvere pre spätnú väzbu – možno má tímový kolega dôvod na ponechanie tohto súboru v potvrdení, alebo možno má po ruke lepšie riešenie problému.
Stratené údaje
Pri upratovaní vášho úložiska nechcete vyhodiť niečo, čo je dôležité, najmä pri väčších projektoch. Takže predtým, ako sa zaviažete k vymazaniu súboru, vezmite si druhú, ba tretiu časť a pozrite sa na súbor, ktorý sa chystáte odstrániť.
Položte si otázku: „Obsahuje tento súbor nejaký kód, údaje alebo informácie, ktoré by ste mohli neskôr potrebovať?“ Je to ako prechádzať starým priečinkom v počítači; niekedy nájdete súbory, ktoré sa v tom čase zdali nedôležité, ale teraz majú hodnotu. Nedostanete sa tak do situácie, kedy budete horúčkovito hľadať nejaký kód alebo dáta, ktoré ste predtým mylne považovali za nepotrebné.
Vrátiť späť je lepšie pre verejné úložiská
Pri práci s verejnými úložiskami je často lepšie použiť „ git revert “ ako nedeštruktívny spôsob na odstránenie niečoho z úložiska. Umožňuje vám vrátiť zmeny transparentným a sledovateľným spôsobom, ktorý môžu členovia vášho tímu ľahko sledovať.
Ak pracujete na projektoch s otvoreným zdrojovým kódom alebo na akomkoľvek verejnom spoločnom úsilí, kde zmeny môžu ovplyvniť širokú škálu prispievateľov, všetko je jasné. Príkaz „git revert“ v podstate vytvorí nové odovzdanie, ktoré zruší zmeny oproti predchádzajúcemu bez toho, aby zmenilo históriu projektu. Rešpektuje ostatných spolupracovníkov a zachováva kontinuitu a integritu časovej osi projektu. Otvorene opravujete chybu v skupinovom projekte a zachovávate príspevky všetkých. A história projektu zostáva nedotknutá, aby ju všetci videli a pochopili.
Udržujte históriu Git upratanú
Je ľahké náhodne zahrnúť súbor, ktorý nemá miesto v potvrdení Git, do potvrdenia Git. Našťastie je tiež ľahké toto začlenenie vrátiť späť. V závislosti od toho, čo chcete, existujú rôzne spôsoby, ako to dosiahnuť. Ak ste členom tímu, nezabudnite na svoj tím a udržiavajte konzistentné lokálne a vzdialené úložiská.
Zahrnuli ste niekedy omylom nesprávny súbor do svojho odovzdania Git? Aké bolo vaše riešenie? Napíšte komentár nižšie. Vždy si ich radi prečítame.