Bakit Ako Dapat Gumamit ng core.autocrlf=true sa Git?

Bakit Ako Dapat Gumamit Ng Core Autocrlf True Sa Git



Habang nagtatrabaho bilang isang team sa mga proyekto ng Git, posibleng ang mga miyembro ng proyekto ay gumagamit ng iba't ibang mga operating system. Dahil sa salungatan na ito, nakakaranas sila ng mga isyu sa pagtatapos ng linya dahil ang mga text file na ginawa sa Windows ay may iba't ibang linya ng pagtatapos kaysa sa mga text file ng Linux. Gumagamit ang Windows ng mga character na CR (Carriage-Return) at LF (LineFeed) para sa mga bagong linya sa mga file nito, habang ginagamit lang ng mga Linux system ang LF character. Higit na partikular, hindi pinahihintulutan ng Git ang mga developer na gumamit ng UNIX-style LF habang nagtatrabaho sa Windows.

Ang write-up na ito ay maikling ipapaliwanag ang paggamit ng core.autocrlf=true sa Git.

Bakit Dapat Mong Gumamit ng core.autocrlf=true sa Git?

Upang mahusay na makipagtulungan sa iba pang mga developer ng proyekto gamit ang iba't ibang mga operating system, dapat baguhin ng mga developer ang mga setting ng configuration upang i-set up ang Git upang awtomatikong mahawakan ang mga linya ng pagtatapos. Upang gawin ito, gamitin ang ' $ git config core.autocrlf=true ” utos para sa pagbabago ng mga setting ng core.autocrlf. Kailangang itakda ng mga user ng Windows ang core.autocrlf value sa true para sa pag-convert ng mga LF ending sa CRLF.







Paano Gumagana ang core.autocrlf=true sa Git?

Kumuha tayo ng halimbawa para makita kung paano gumagana ang core.autocrlf=true!



Hakbang 1: Mag-navigate sa Git Repository

Una, lumipat sa partikular na Git repository gamit ang ' cd ” utos:



$ cd 'C:\Git'





Hakbang 2: Gumawa ng Dalawang File

Susunod, lumikha ng isang file sa tulong ng ' echo ” utos at i-update ito:

$ echo 'File 3' > File3.txt



Katulad nito, bumuo o mag-update ng isa pang file gamit ang parehong command:

$ echo 'File 4' > File4.txt

Hakbang 3: Magdagdag ng Mga File sa Git Staging Index

Susunod, gamitin ang ' git add ” utos upang subaybayan ang mga file sa staging index:

$ git add File3.txt File4.txt

Sa output sa ibaba, maaaring maobserbahan ang isang babala na nagsasabing ' Ang LF ay papalitan ng CRLF ”.

Tandaan na ang LF ay ang UNIX-style at ang CRLF ay ang Windows style. Ang babalang ito ay nagsasaad na mawawalan ka ng UNIX-style, at ito ay papalitan ng Windows-style dahil ang Git ay naghihigpit sa paggamit ng CRLF bilang default:

Hakbang 4: Suriin ang Default na Mga Setting ng Configuration

Upang suriin ang mga default na setting ng configuration, patakbuhin ang sumusunod na command:

$ git config core.autocrlf

Mapapansin na ang default na halaga ng ' core.autocrlf 'Ang file ay nakatakda bilang ' mali ”:

Hakbang 5: Baguhin ang Configuration ng core.autocrlf

Upang itakda ang Git ' core.autocrlf 'pagtatakda sa' totoo ”, patakbuhin ang sumusunod na command:

$ git config core.autocrlf totoo

Hakbang 6: Pag-verify

I-verify ang mga naunang ginawang pagbabago sa configuration:

$ git config core.autocrlf

Makikita mo na ang ' core.autocrlf Ang halaga ay naitakda bilang ' totoo ”:

Hakbang 7: Subaybayan ang Mga Pagbabago sa Git Staging Area

Muli, subukang idagdag ang mga file sa Git staging area:

$ git add .

Tulad ng nakikita mo sa ibinigay na screenshot sa ibaba, matagumpay na naidagdag ang mga file dahil ang ' core.autocrlf Ang mga setting ay binago sa true:

Ipinaliwanag namin ang paggamit ng core.autocrlf=true configuration setting sa Git.

Konklusyon

Habang nakikipagtulungan sa mga developer na may iba't ibang OS system, malamang na nakatagpo ang mga user ng mga isyu sa linya ng pagtatapos (LF o CRLF). Nagbibigay ang Git ng iba't ibang paraan upang malutas ang isyung ito, tulad ng paggamit ng ' $ git config core.autocrlf ” utos. Kung nakatakda ang iyong core.autocrlf configuration bilang false, magpapakita ito sa iyo ng babala sa mga isyu sa mga linya ng pagtatapos habang nagdaragdag ng mga file. Gayunpaman, ang pagtatakda ng halaga nito bilang ' totoo ” ay malulutas ang isyu. Ang write-up na ito ay nagpakita ng mga paggamit ng core.autocrlf=true configuration setting sa Git.