Ayusin: Hindi Gumagana ang Gitignore



Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema

Ang GitHub ay lumitaw upang maging isang nangungunang tagapanguna sa larangan ng pakikipagtulungan sa code at pagbabahagi ng repository. Ang GitHub ay pangunahing isang bersyon ng kontrol ng software na nagbibigay-daan sa mga gumagamit na kontrolin ang pamamahagi ng kontrol sa bersyon at SCM (pamamahala ng source code). Ang platform na ito ay ginagamit ng mga pangunahing negosyo at kumpanya sa buong mundo.



.gignignore



Ang mga platform na tulad nito ay mayroong kanilang mga teknikalidad at isyu. Ang isang tukoy na problema na naranasan ng mga coder ay ang .gitignore ay hindi gumagana sa GitHub. Binalewala ng platform ang .gitignore o nagtrabaho ng bahagyang. Nakatutuwang pansinin na ang problema ay maaaring medyo magkakaiba sa bawat kaso dahil ang bawat kaso ay isang ganap na magkakaibang sitwasyon. Gayunpaman, ang mga solusyon na aming nakalista ay maglalaman ng mga pag-aayos na gagana sa pangkalahatan.



Ano ang .gignignore?

Nakita ni Git (o GitHub) ang bawat file sa iyong gumaganang direktoryo. Nailalarawan nito ang bawat file bilang isa sa tatlo:

  • Sinusubaybayan: Ang mga file na ito ay maaaring nakatuon o itinanghal dati sa kasaysayan.
  • Hindi naka-track: Ito ang mga file na hindi pa dating itinanghal o nakatuon.
  • Hindi pinansin: Ito ang mga file kung saan sinabi mismo ng gumagamit kay Git na huwag pansinin nang buo.

Ang mga hindi pinansin na file na ito ay maaaring magkakaiba ng senaryo sa senaryo at karamihan ay mga file na nabuo ng makina o bumuo ng mga artifact. Ito ang karaniwang kasanayan; maaaring hindi mo pinapansin ang iba`t ibang mga file ayon sa iyong sariling mga pangangailangan. Ang ilang mga halimbawa ng mga file na ito ay:

  • Pinagsamang code: Ang mga file na ito ay karaniwang may extension .class, .pyc, .ccp atbp.
  • Mga nakatagong file ng system: Ito ang mga file na ginagamit ng system para sa pagpapatakbo nito ngunit nakatago mula sa simpleng pagtingin, halimbawa, DS_Store o Thumbs.db, atbp.
  • Bumuo ng mga direktoryo ng output: Ito ay halos lahat ng mga direktoryo ng / bin, / out, atbp.
  • Mga cache ng dependency: Ang mga file na ito ay maaaring ang nilalaman ng / node o / packages module.
  • Mga file ng pagsasaayos ng IDE: Ito ang mga config file na karamihan ay nilikha o pinamamahalaan ng iyong IDE software.
  • Ang mga file na nabuo sa runtime: Mayroong ilang mga programa na lumilikha ng mga file sa oras ng pagpapatakbo. Kung pinatakbo ang alinman sa naturang code, ang ilang mga file ay maaaring malikha sa oras ng pagpapatakbo sa iyong gumaganang folder at maaari mong balewalain ang mga ito sa Git.

Alinmang file ang nais mong balewalain ay sinusubaybayan sa isang espesyal na file na pinangalanan bilang .gignignore na karamihan ay naka-check sa ugat ng iyong gumaganang repository. Ayon sa opisyal na dokumentasyon ng GitHub sa paksa, walang tiyak na utos na gitignore. Sa halip, kailangan mong manu-manong i-edit ang file na nais mong balewalain. Naglalaman ang file na .gignignore ng mga pattern na tumutugma sa mga pangalan ng file sa iyong gumaganang lalagyan at ginagamit ang mga ito upang matulungan na matukoy kung ang isang tukoy na file ay dapat balewalain o hindi.



Ano ang sanhi ng .gitignore na hindi Gumana?

Ang tampok na .gignignore ay maaaring gumagana nang perpekto ngunit maaaring hindi mo ito na-configure nang maayos. Sa lahat ng aming mga survey, napagpasyahan namin na talaga namang gumagana ang module. Ang dahilan kung bakit hindi magamit ng mga coder ang tampok ay karamihan dahil hindi nila maayos na na-configure ang file o may ilang mga kundisyon na hindi natutugunan sa napapailalim na code.

Narito ang ilang mga solusyon na maaaring gumana para sa iyo. Ang bawat solusyon ay maaaring hindi mailalapat sa iyong kaso kaya tiyaking lumipat ka sa susunod kung hindi natutugunan ang mga paunang kundisyon.

Solusyon 1: Pagsuri sa .gitignore File

Isang kagiliw-giliw na kaso ang lumabas kung saan nakita namin na ang .gitignore file ay nilikha sa maling format. Ang partikular na isyung ito ay naganap noong nilikha ng mga gumagamit ang file gamit ang default na aplikasyon ng Notepad sa Windows OS. Ito ay lumalabas na ang Notepad ay nagsusulat ng file sa Unicode sa halip na format na ANSI. Sa solusyon na ito, mai-save namin ang mga pagbabago ng Notepad sa tamang format ng .gignignore at tingnan kung aayusin nito ang problema.

Tandaan: Kailangan mong alisin ang extension ng .txt mula sa file kapag lumikha ka ng isang bagong file gamit ang Notepad.

  1. Matapos isulat ang code o mga pagbabago sa isang bagong dokumento sa teksto sa Notepad, mag-click sa File at piliin I-save bilang .

I-save Bilang - Notepad

  1. Ngayon sa harap ng Naka-encode , piliin ang ANSI . Alisin ngayon ang file extension ng .txt at i-save ang file na may pangalang ‘ .gignignore ’. Piliin ang tamang direktoryo at i-save.

Ang pagpili ng ANSI bilang uri ng Pag-encode

  1. Ngayon mag-navigate sa direktoryo at suriin kung ang tamang file ay nilikha. Subukan muli ito sa Git at tingnan kung gumagana ang tampok na Balewalain tulad ng inaasahan.

Dapat na iwasan ng mga developer ang paggamit ng default na Notepad sa Windows. Sa halip, dapat mong gamitin ang wastong notepad ng 'programmers'. Ang ilang mga halimbawa ay kasama Notepad ++ atbp sa mga iyon, hindi ka magkakaroon ng mga isyu tulad nito.

Tandaan: Kung ang iyong file ay nai-save na sa format na UNICODE, dapat mong i-save nang maayos ang mga nilalaman sa format na ANSI kung nais mong makita ng maayos ang iyong file ng Git.

Solusyon 2: Sinusuri ang File na sinusubukan mong Balewalain

Ang isa pang kundisyon kung saan gagana ang .gitignore ay hindi dapat ang iyong file bahagi ng imbakan pa . Ito ay isang napakahalagang aspeto na parang totoo ito, ang file ay hindi papansinin tulad nito naidagdag na sa imbakan. Hindi maaaring balewalain iyon ni Git kahit na ilagay mo ang pangalan nito o panuntunan sa .gitignore file. Kaya't sa esensya, hindi lamang pinapansin ni Git hindi naka-track na mga file .

Dapat mong tingnan ang iyong istraktura (repository) at tiyakin na ang file na kasalukuyang sinusubukan mong balewalain ay hindi naidagdag sa lalagyan. Kung ito ay, kakailanganin mong alisin ang file mula sa imbakan at pagkatapos ng nakagawa ng pinakabagong mga pagbabago, idagdag ang pangalan nito sa .gignignore (maaari mo ring kopyahin ang mga nilalaman ng file at pagkatapos burahin ito, kopyahin ito ng ibang pangalan) .

Solusyon 3: Pagdaragdag muli ng mga File sa Repository

Kung nagdagdag ka na ng mga panuntunan sa .gitignore ngunit ang mga file na nais mong huwag pansinin ay naidagdag na, maaari naming idagdag muli ang mga file. Ang pagdaragdag ay nangangahulugang aalisin namin ang lahat mula sa index ng Git at pagkatapos ay idaragdag muli ang lahat sa iyong imbakan. Kapag nagdagdag ulit kami ng mga file mula sa simula, mapapanatili ang mga panuntunan sa isip na naidagdag mo sa .gignignore at ang mga tamang file lamang ang naidagdag.

Tandaan: Dapat mong i-back up ang iyong code sa ibang lugar din bago isagawa ang solusyon na ito. Palaging mabuti na magkaroon ng isang backup kung sakali.

  1. Isagawa ang sumusunod na utos. Unstage ito at aalisin ang mga landas sa iyong mga file mula sa git index sa isang recursive na paraan.
git rm -r --cached.
  1. Matapos itong maipatupad, dapat mong isagawa ang sumusunod na utos. Idaragdag nito ang lahat ng iyong mga file pabalik at dahil .gitignore ay magkakaroon ng mga patakaran, ang mga tamang file lamang ang maa-update.
git idagdag.
  1. Ngayon ay gagawin namin ang lahat ng iyong mga file pabalik sa index gamit ang code sa ibaba:
git gumawa -m '.gitignore ay gumagana na ngayon'

Suriin ngayon ang iyong mga file at tingnan kung nalutas ang isyu at maaari mong gamitin muli ang .gignignore nang walang anumang mga isyu.

Basahin ang 4 na minuto