ගෝලීය Git නොසලකා හරින්න


872

සමහර ලිපිගොනු ගෝලීයව නොසලකා හැරීම සඳහා මට Git සැකසීමට අවශ්‍යයි.

මම .gitignoreමගේ නිවාස නාමාවලියට ( /Users/me/) ගොනුවක් එක් කර ඇති අතර පහත දැක්වෙන පේළිය එයට එකතු කර ඇත්තෙමි.

*.tmproj

නමුත් එය මේ ආකාරයේ ලිපිගොනු නොසලකා හැරීම නොවේ, කිසියම් අදහසක් මා වැරදි කරන්නේ කුමක් ද?


7
ඔබට GitHub හි නොසලකා හරින යෝජනා පරීක්ෂා කිරීමට අවශ්‍ය විය හැකිය - help.github.com/articles/ignoring-files ; ඔවුන් සතුව පොදු නොසලකා හැරීමේ රටාවන්ගේ ගබඩාවක් ඇත
drzaus

6
තනි ව්යාපෘති තුළ .gitignore භාවිතා කිරීම ගැන සලකා බැලීමටද ඔබට අවශ්ය විය හැකිය. එසේ නොමැතිනම් ඔබ (හෝ වෙනත් අයෙකු) ව්‍යාපෘතිය නව පද්ධතියක ක්ලෝන කරන්නේ නම්, ඔබට සෑම විටම ගෝලීය බැහැර කිරීම් සහ වින්‍යාසය ප්‍රතිනිර්මාණය කිරීමට සිදුවේ.
ස්ටැන් කුර්ඩ්සියල්

25
ව්‍යාපෘතිය විසින් නිර්මාණය කරන නොසලකා හරින ලද ගොනු ව්‍යාපෘතියේ තිබිය යුතුය .ගිටිගෝර් ගොනුව, ඔබේ යන්ත්‍රය තුළ ඇති දේවල් නොසලකා හරින ලද ලිපිගොනු ගෝලීය .gitignore (සංස්කාරක / IDE තාවකාලික ලිපිගොනු වැනි) තුළට යා යුතුය.
පයිලිනක්ස්

2
පයිතන් අතථ්‍ය පරිසර නාමාවලි යනු මගේ ගෝලීය හෝ දේශීය බැහැර කිරීම් ගොනුවේ ඇතුළත් කිරීම් සඳහා පොදු භාවිත අවස්ථාවකි.
ස්ටූ

12
Ypylinux ඇත්ත වශයෙන්ම, git-scm අනුව , පුද්ගලික IDE සහ කාර්ය ප්‍රවාහ විශේෂිත දේවල් .git/info/exclude, repo හි සොයා නොගත් ගොනුව තුළට යා හැකිය , එබැවින් එය අනිවාර්යයෙන්ම ගෝලීය ගොනුවට යා යුතු නොවේ. එසේම, පෙරනිමි සහ ස්වයංක්‍රීය ගෝලීය gitignore ගොනුව වේ $HOME/.config/git/ignore.
Acumenus

Answers:


1467

core.excludesfileමෙම ගෝලීය නොසලකා හැරීමේ ගොනුව වෙත යොමු කිරීම සඳහා ඔබේ ගෝලීය වින්‍යාස ගොනුව සැකසිය යුතුය.

උදා

* නික්ස් හෝ වින්ඩෝස් ගිට් බැෂ්:

git config --global core.excludesFile '~/.gitignore'

වින්ඩෝස් cmd:

git config --global core.excludesFile "%USERPROFILE%\.gitignore"

වින්ඩෝස් පවර්ෂෙල්:

git config --global core.excludesFile "$Env:USERPROFILE\.gitignore"

වින්ඩෝස් සඳහා එය ස්ථානයට සකසා ඇත C:\Users\{myusername}\.gitignore. වින්‍යාස අගය නිවැරදි බව ඔබට තහවුරු කර ගත හැකිය:

git config --global core.excludesFile

ප්‍රති result ලය විය යුත්තේ ඔබේ පරිශීලක පැතිකඩ වෙත පුළුල් කළ මාර්ගයයි .gitignore. අගයේ විස්තාරණය නොකළ %USERPROFILE%නූල් අඩංගු නොවන බවට සහතික වන්න .

වැදගත් : ඉහත විධානයන් මඟින් git භාවිතා කරන නොසලකා හරින ගොනුවේ පිහිටීම පමණක් සැකසෙනු ඇත. ගොනුව තවමත් එම ස්ථානයේ අතින් නිර්මාණය කළ යුතු අතර නොසලකා හැරීමේ ලැයිස්තුවෙන් පිරී තිබේ. ( මුරුගේ අදහස් දැක්වීමෙන්)

ඔබට විධානය ගැන https://help.github.com/articles/ignoring-files/#create-a-global-gitignore හි කියවිය හැකිය


2
එය ඔබගේ HEADහෝ ඔබේ දර්ශකයේ නොමැති තාක් කල් , ගොනුව වරක් ලුහුබැඳ තිබේද නැද්ද යන්නෙහි කිසිදු වෙනසක් සිදු නොවිය යුතුය. ඔබ ප්රතිදානය එකතු නම් එය ප්රයෝජනවත් වනු ඇත git status, git config core.excludesfileඔබගේ ප්රශ්නයට.
සීබී බේලි

2
ගෝලීය නොසලකා හැරීමේ ගොනුව තුළ අදහස් එක් කිරීමට මට #පේළි ආරම්භයේ භාවිතා කළ හැකිද ~/.gitignore?
දෝෂය

9
නිල Git වින්ඩෝස් මෙවලම් කට්ටලයේ මෑත සංස්කරණ ඒ වෙනුවට * නික්ස් සින්ටැක්ස් භාවිතා කරයි; මෙම රේඛාව ක්‍රියා නොකරන්නේ නම්, ඒ වෙනුවට * නික්ස් එක උත්සාහ කරන්න.
ඇන්ඩි ජෝන්ස්

9
%USERPROFILE%විචල්‍යය භාවිතා කර මෙය ක්‍රියාත්මක කිරීමට මට නොහැකි විය . * නික්ස් ඩිරෙක්ටරි බෙදුම්කරුවන් භාවිතා කර ගොනුව වෙත සම්පූර්ණ මාර්ගය ඇතුළත් කිරීමට මට සිදු විය. උදා: core.excludesfile C: /Users/User/.gitignore
වින්ස්

23
එය% USERPROFILE% විචල්‍යය සමඟ වැඩ කිරීමට නොහැකි විය. C: / users / {myusername} /. Gitignore. ඉහත විධානය මඟින් git භාවිතා කරන නොසලකා හරින ගොනුවේ පිහිටීම පමණක් සැකසෙනු ඇත. ගොනුව තවමත් එම ස්ථානයේ අතින් නිර්මාණය කළ යුතු අතර නොසලකා හැරීමේ ලැයිස්තුවෙන් පිරී තිබේ.
muruge

308

ගෝලීය බැහැර ගොනුව නැවත සකස් කිරීමට පෙර, මෙම විධානය භාවිතා කරමින් එය දැනට වින්‍යාස කර ඇති දේ පරීක්ෂා කිරීමට ඔබට අවශ්‍ය විය හැකිය:

git config --get core.excludesfile

මගේ නඩුවේදී, මම එය ධාවනය කරන විට මගේ ගෝලීය බැහැර ගොනුව වින්‍යාස කර ඇති බව දුටුවෙමි

~ / .gitignore_global
ඒ වන විටත් එහි කරුණු කිහිපයක් ලැයිස්තුගත කර තිබුණි. එබැවින් ලබා දී ඇති ප්‍රශ්නය සම්බන්ධයෙන්, දැනට පවතින බැහැර කරන ලද ගොනුවක් සඳහා පළමුව පරීක්ෂා කිරීම අර්ථවත් විය හැකි අතර එයට නව ගොනු ආවරණයක් එක් කරන්න.


2
මෙය විශිෂ්ටයි. සුපුරුදු පරිදි ඔබගේ ගෝලීය gitignore ගොනුව සකසන්න; එක් පේළියකට එක් ප්‍රවේශයක්.
මාර්ටන් හාර්ට්මන්

251

වෙනත් පිළිතුරු නිවැරදි වුවද ඒවා ගෝලීය වින්‍යාස අගය සකසනු ලබන අතර ගෝලීය git නොසලකා හැරීමේ ගොනුව සඳහා පෙරනිමි git ස්ථානයක් ඇත:

* නික්ස්:

~/.config/git/ignore

වින්ඩෝස්:

%USERPROFILE%\git\ignore

ඔබට gitඩිරෙක්ටරි සහ ignoreගොනුවක් සෑදීමට අවශ්‍ය විය හැකි නමුත් එවිට ඔබට ඔබේ ගෝලීය නොසලකා හැරීම් එම ගොනුවට දැමිය හැකිය.

මූලාශ්රය

රටාවක් තැබිය යුතු ගොනුව රඳා පවතින්නේ රටාව භාවිතා කිරීමට අදහස් කරන ආකාරය මතය.

  • සෑම අවස්ථාවකම Git නොසලකා හැරීමට පරිශීලකයාට අවශ්‍ය රටා (උදා: උපස්ථ හෝ තාවකාලික ලිපිගොනු පරිශීලකයාගේ තේරීම් සංස්කාරක විසින් ජනනය කරනු ලැබේ) සාමාන්‍යයෙන් core.excludesFileපරිශීලකයා විසින් නියම කරන ලද ගොනුවකට යයි ~/.gitconfig. එහි පෙරනිමි අගය $ XDG_CONFIG_HOME / git / නොසලකා හැරීමයි. $ XDG_CONFIG_HOME සකසා හෝ හිස්ව නොමැති නම්, ඒ වෙනුවට $ HOME / .config / git / విస్మ කිරීම භාවිතා වේ.

1
මේක නියමයි; මම මේ ගැන දැන සිටියේ නැත ... කෙසේ වෙතත් මෙය ජනනය කළ ගොනුවක් නොවේද? ඔබ යාවත්කාලීන කරන විට / නැවත ස්ථාපනය කරන විට එය නැවත ලිවිය හැකිද?
danielsdesk

1
සමහර gitවිධාන ක්‍රියාත්මක කිරීමෙන් ගොනුව නිර්මාණය / වෙනස් කර ඇති බව මම විශ්වාස කරමි . එය එක් එක් පරිශීලකයාගේ නාමාවලියෙහි සැකසුම් ගොනුවක් බැවින්, එය කිසි විටෙකත් නැවත ලිවිය යුතු යැයි මම නොසිතමි.
ස්ටීව් ජෝර්ගන්සන්

1
මෙය පිළිගත් පිළිතුර විය යුතු බව මම එකඟ වෙමි, කෙසේ වෙතත් මෙය මට හමු නොවීය -t̶h̶e̶ d̶o̶c̶u̶m̶e̶n̶t̶a̶t̶i̶o helpn̶ උදව් ලිපියක් ( help.github.com/articles/ignoring-files )
AVProgrammer

7
වින්ඩෝස් වල මාර්ගය ද ~/.config/git/ignoreපෙනේ.
suriv

3
මෙය නිසැකවම හොඳම පිළිතුරයි, පිළිගත් පිළිතුර අභිබවා යාමට ක්‍රමයක් තිබේද? අනෙක් පිළිතුරු අනුගමනය කරන්නේ නම් බොහෝ දෙනෙකුට අවශ්‍ය ප්‍රමාණයට වඩා ඔවුන්ගේ ජීවිතය වඩාත් සංකීර්ණ වනු ඇත ...
සෑම් සාලිස්බරි

42

මුල සිටම ගෝලීය ගිටිග්නෝර් නිර්මාණය කිරීම සඳහා:

$ cd ~
$ touch .gitignore_global
$ git config --global core.excludesfile ~/.gitignore_global
  1. පළමු පේළිය නාමාවලිය වෙනස් කරයි C:/Users/User
  2. ඊට පසු ඔබ සමඟ හිස් ගොනුවක් සාදන්න .gitignore_global දිගුවක් සාදයි
  3. අවසාන වශයෙන් එම ගොනුවට ගෝලීය නොසලකා හැරීම සැකසීම.
  4. එවිට ඔබ එය කිසියම් නෝට්පෑඩ් එකකින් විවෘත කර අවශ්‍ය නොසලකා හැරීමේ නීති එකතු කළ යුතුය.

18

සිට මෙහි .

.Gitignore git නමින් ඔබේ ගබඩාව තුළ ගොනුවක් සාදන්නේ නම්, ඒ සඳහා ලිපිගොනු බැලීමේදී එහි නීති භාවිතා කරනු ඇත. මෙම ගොනුව නොසලකා හැරීම සඳහා රීතියක් එක් කිරීමට පෙර දැනටමත් නිරීක්ෂණය කර ඇති ගොනුවක් git විසින් නොසලකා හරිනු ඇති බව සලකන්න. එවැනි අවස්ථාවකදී ගොනුව ලුහුබැඳිය යුතු නැත, සාමාන්‍යයෙන්:

git rm --cached filename

එය ඔබේ නඩුවද?


මම ගෝලීය වශයෙන් නොසලකා හැරීමට උත්සාහ කරමි, එය සිදු නොවේ !!
මෘදු ෆස්

Linux ලිනක්ස් හි මිල්ඩ්ෆස් core.excludesfileගොනුව ගොනුවකට වඩා වෙනස් ලෙස අර්ථකථනය කර ඇති බව පෙනේ .gitignore. ඔබට සම්පූර්ණ නාමාවලියක් නොසලකා හැරීමට අවශ්‍ය නම් .vscode/ඒ වෙනුවට නාමාවලියෙහි නම තබන්න.vscode/*
Aspiring Dev

14
  1. ඔබගේ නිවාස නාමාවලියෙහි .gitignore ගොනුවක් සාදන්න
touch ~/.gitignore
  1. එයට ගොනු එක් කරන්න ( ෆෝල්ඩර හඳුනාගෙන නොමැත )

උදාහරණයක්

# these work
*.gz
*.tmproj
*.7z

# these won't as they are folders
.vscode/
build/

# but you can do this
.vscode/*
build/*
  1. Git එකකට දැනටමත් ගෝලීය gitignore තිබේදැයි පරීක්ෂා කරන්න
git config --get core.excludesfile
  1. ගොනුව තිබෙන තැන git ට කියන්න
git config --global core.excludesfile '~/.gitignore'

වොයිලා !!


"ෆෝල්ඩර හඳුනාගෙන නොමැත" - එය වැරදියි, ෆෝල්ඩර හොඳින් ක්‍රියාත්මක වේ ...
ටොබික්ස්

11

ඔබ යුනික්ස් පද්ධතිය භාවිතා කරන්නේ නම්, ඔබට ඔබේ ගැටළුව විධාන දෙකකින් විසඳා ගත හැකිය. පළමු වින්‍යාසය වින්‍යාස කිරීම සහ දෙවනුව නොසලකා හැරීමට ගොනුවක් සමඟ ගොනුව වෙනස් කරයි.

$ git config --global core.excludesfile ~/.gitignore
$ echo '.idea' >> ~/.gitignore

7

විධානය ක්‍රියාත්මක කරන බව මතක තබා ගන්න

git config --global core.excludesfile '~/.gitignore'

ගෝලීය ගොනුව සැකසෙනු ඇත, නමුත් එය නිර්මාණය නොකරයි. වින්ඩෝස් සඳහා .gitconfigගොනුව සඳහා ඔබේ පරිශීලකයින්ගේ නාමාවලිය පරීක්ෂා කර එය ඔබගේ අභිමතය පරිදි සංස්කරණය කරන්න. මගේ නඩුවේ එය එසේ ය:

[core]
  excludesfile = c:/Users/myuser/Dropbox/Apps/Git/.gitignore

3

මගේ ගොනුවට හෝ .tmprojඇතුළත් කිරීමෙන් ගොනුවක් නොසලකා හැරිය හැක. .tmproj*.tmproj/users/me/.gitignore-global

ගොනුවේ නම .gitignore-globalනොවන බව සලකන්න .gitignore. එය ඇතුළු විසින් වැඩ කටයුතු කළේ නැත .tmprojහෝ *.tmprojගොනුවක් තුළ .gitignoreදී /users/meබහලුම.


4
ඔබගේ core.excludesfileවින්‍යාසය ගැලපෙන තාක් කල් ඔබ ඔබේ ගෝලීය නොසලකා හැරීමේ ගොනුව ලෙස හැඳින්වීම වැදගත් නොවේ .
සීබී බේලි

ආ! හොඳ කරුණක් har චාර්ල්ස් බේලි. කෙසේ වෙතත් මෙය ලේඛකයාට පරීක්ෂා කිරීමට අවශ්‍ය විය හැකිය. මෙම හේතුව .tmprojපරිශීලක නිසා ගොනුව නොසලකා වීම නොවේ විය හැකි excludesfileසිදු නොකරන .gitignore.
ශ්‍රී ශංකරන්

මම හිතන්නේ ඔහු සිතුවේ පරිශීලකයා තේරුම් ගැනීමට තරම් බුද්ධිමත් වනු ඇති බවයි.
වර්ම්ස්

2

මේ සඳහා ඔබ බැහැර කළ ගොනුවක් සෑදිය යුතුය. ස්වයං පැහැදිලි කිරීමක් වන මෙම සාරාංශය බලන්න .

නමුත් ඔබේ ප්රශ්නය විසඳීමට, ඔබ එක්කෝ ද-දර්ශක සඳහා අවශ්ය විය හැක .tmprojගොනුව (ඔබ දර්ශකය එය දැනටමත් එකතු තියෙනවා නම්) සමඟ git rm --cached path/to/.tmproj, හෝ git addහා commitඔබේ .gitignoreගොනුව.


මම මෙය ගෝලීයව සිදු කිරීමට උත්සාහ කරමි, එක් රෙපෝ එකකට පමණක් නොව
මෘදු ෆස්

ඔව්, එයයි මම සාරාංශයට සම්බන්ධ කළේ. මුල් ප්‍රශ්නයෙන් මම ටිකක් ව්‍යාකූල විය. ඔබ එය කළාද git rm --cached?
නිකේ

ඔව්, එය උත්සාහ කළා. මම නිර්දේශිත උපදෙස් සියල්ලම අනුගමනය කර ඇති බව පෙනේ! මට නැති වී ඇත්තේ කුමක්ද?
මෘදු ෆස්

යෝජනා කර ඇති පරිදි, මම ඔබේ git තත්ත්වය එකතු කර ප්‍රශ්නයට තොරතුරු බැහැර කරමි :)
Nic

2

ජනේලය මත ලිනක්ස් සඳහා මම විසින් උප පද්ධතිය root වෙත ගමන් කිරීමට තිබූ උප පද්ධතිය cd ~/පසුව touch .gitignoreඉන් ඉක්බිති ගෝලීය gitignore වින්යාස යාවත්කාලීන කරන්න.

එය යමෙකුට උපකාරී වනු ඇතැයි මම බලාපොරොත්තු වෙමි.


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.