.Gitignore හඳුනා නොගත් ලිපිගොනු ලැයිස්තුවේ පෙනී සිටීම වළක්වා ගන්නේ කෙසේද?


974

මම යන්තම් කළේ git initමගේ නව ව්යාපෘතිය මූල මත.

ඊට පස්සේ මම .gitignoreගොනුවක් හැදුවා.

දැන්, මම ටයිප් කරන විට git status, .gitignore ගොනුව සොයා නොගත් ගොනු ලැයිස්තුවේ දිස්වේ. ඇයි ඒ?


13
git add self && git commit -m "-1 for reverting existential depression" && git remote rm HEAD
ඇලෙස්ටෙයාර්

1
මට .git / ෆෝල්ඩරය නොසලකා එය ".gitignore" තුළට දැමිය හැකිද?
ටිමෝ

2
ඔබට ලිනක්ස් යටතේ ඔබගේ නිවසේ ෆෝල්ඩරයේ ගෝලීය "ගිටිග්නෝර්" එකක් සාදා එහි ගබඩා කළ හැකිය: git config --global core.excludesfile ~ / .gitignore_global
Timo

15
මා මෙහි පැමිණියේ සෙවීමෙන් වන how to gitignore .gitinore fileඅතර ප්‍රශ්නය සහ පිළිගත් පිළිතුර ඇත්ත වශයෙන්ම මාතෘකාවට සම්බන්ධ නොවේ. මාතෘකාව වැඩිදියුණු කළ හැකිය.
m.rufca

6
.Gitignore නොසලකා හැරීම සඳහා භාවිත අවස්ථා තිබේ. මගේ කණ්ඩායමේ කාර්ය ප්‍රවාහයට මගේ දේශීය dev පරිසරය සඳහා ලිපිගොනු කට්ටලයක් වෙනස් කිරීමට අවශ්‍ය නමුත් ඒවා කැප නොවිය යුතුය. වඩා හොඳ ගෘහ නිර්මාණ ශිල්පයකින් වැඩ ප්‍රවාහය වැඩිදියුණු කළ හැකි නමුත් එය මගේ අතේ නැත. මේ අතර, එම ලිපිගොනු කෙරෙහි අවධානය යොමු කිරීම වගකීමකි. මේ අනුව මට අවශ්‍ය වන්නේ ඒවා දේශීයව පමණක් වන අතර මගේ .ගිටිග්නෝර් කණ්ඩායම සමඟ බෙදා නොගත යුතු බැවින් එය අවදානමට ලක් කිරීමට මට අවශ්‍ය නැත.
මාර්ක්

Answers:


960

මෙම .gitignoreගොනුව ලෙස, ඇත්තෙන්ම එය එකතු කර දී සිදු කළ යුතු නිසා, ඔබේ නිධිය විය යුතුය git statusබවයි. එය නිධිය ගසෙහි කොටසක් විය යුතුය, එවිට එහි වෙනස්වීම් ඒකාබද්ධ කළ හැකිය.

එබැවින්, එය ඔබේ ගබඩාවට එක් කරන්න, එය ගිටාර් නොකළ යුතුය.

ඔබ ඇත්තටම අවශ්ය නම් ඔබට එක් කළ හැකිය .gitignoreවෙත .gitignoreඔබ එය සිදු කිරීමට අවශ්ය නැති නම් ගොනුව. කෙසේ වෙතත්, එවැනි අවස්ථාවකදී නොසලකා .git/info/excludeහැරීම් එකතු කිරීම වඩා හොඳය .gitignore මෙන් ක්‍රියා කරන නමුත් එය .gitෆෝල්ඩරයේ ඇති බැවින් "git status" හි නොපෙන්වන විශේෂ පිරික්සුම්-දේශීය ගොනුවක් .

Https://help.github.com/articles/ignoring-files ද බලන්න


17
මෙය ලුහුබැඳ ඇති ගොනුවකට වඩා ගබඩාවේ පාර-දත්තවල කොටසක් විය යුතු නොවේද?
එන්ඩොලිත්

13
නිධිය පාර-දත්ත ගබඩාවට දේශීය වේ. ඔබ ඔබේ රෙපෝවට බැඳීම් කොක්කක් එකතු කළහොත් සහ යමෙකු ඔබේ රෙපෝව ක්ලෝන කළහොත්, ඔවුන්ට කැපවීමේ කොක්ක නොලැබේ.
අගෝස්තු ලිලියාස්

91
ukwukong, ඔබ කණ්ඩායමක් මත වැඩ කරන්නේ නම්, සෑම දෙනාම එකම ලිපිගොනු සමූහය නොසලකා හැරිය යුතු නොවේද? .Gitignore ගොනුව නිධිය වෙත එකතු වන්නේ එබැවිනි. ඔබේ ව්‍යාපෘතියේ කොටසක් ලෙස එය යෙදවිය යුතු යැයි කිසිවෙකු පවසන්නේ නැත.
රයන් ලුන්ඩි

13
@endolith සහ wukong එය ඔබේ ගබඩාවේ ගොනුවක් විය යුතු නැත. ඔබගේ නොසලකා හැරීමේ සැකසුම් විවිධ ස්ථානවල තිබිය හැකිය. GitHub හි විශාල ලිපියක් ඇත help.github.com/ignore-files ඔබට ඕනෑම තැනක ගෝලීය නොසලකා හැරීමේ සැකසුම් තිබිය හැකි අතර, ඔබට repo සඳහා .git පාර-දත්ත තුළ විශේෂිත සැකසුම් තිබිය හැකිය.
බූෂ්ලි

6
ign deed02392 මෙම නොසලකා හරින ලද ලිපිගොනු භාවිතා කිරීමේදී ඔබ ඒවා දැමූ දේ සම්බන්ධයෙන් විනිශ්චය භාවිතා කළ යුතුය, නමුත් ඒවාට තවමත් විශාල ප්‍රයෝජන ඇත. උදාහරණයක් ලෙස මම Vim භාවිතා කරන අතර මගේ ගෝලීය gitignore හි * .swp ගොනු නොසලකා හැර ඇති බව සලකුණු කර ඇත. මේ ආකාරයෙන් මගේ සෑම ව්‍යාපෘතියකටම එය එකතු කිරීමට අවශ්‍ය නොවන අතර, කිසි විටෙකත් වීම් භාවිතා නොකරන පිරිමි ළමයින්ට ඒ ගැන කරදර විය යුතු නැත.
බූෂ්ලි

283

නොසලකා හරින ලද ගොනු ලැයිස්තුවක් ඔබගේ Git ගසෙන් පිටත ගබඩා කිරීමට ඔබට අවශ්‍ය නම්, ඔබට .git / info / බැහැර ගොනුව භාවිතා කළ හැකිය . එය අදාළ වන්නේ ඔබගේ ගබඩාව පිරික්සීමට පමණි.


19
+1, ඊමාක්ස් * ~ උපස්ථ ලිපිගොනු, OS X වෙතින් .DS_Store වැනි ව්‍යාපෘති සම්බන්ධ නොවන නොසලකා හැරීම් සඳහා මෙය විශිෂ්ටයි.
අගෝස්තු ලිලියාස්

38
UgAugustLilleaas මම පෞද්ගලිකව කැමතියි මේ ආකාරයේ {සංස්කාරක, වේදිකා} - විශේෂිත ලිපිගොනු දැමීමට, ~/.gitignoreඑබැවින් මා වැඩ කරන ඕනෑම ගබඩාවක් සඳහා ඒවා නොසලකා හරිනු ඇත.
මයිකල් මයර්

22
ගොනුවක් ලුහුබැඳ ගිය පසු, git update-index --assume-unchanged <file>ඔබේ repo වෙනස් නොකර වෙනස්වීම් ලුහුබැඳීම නැවැත්වීමට ඔබට භාවිතා කළ හැකිය . ඔබට දේශීය වෙනස්කම් කිරීමට අවශ්‍ය විශාල හවුල් ව්‍යාපෘති සඳහා මෙය ඉතා ප්‍රයෝජනවත් වේ, නමුත් ඔබේ දේ නැවත ගබඩාවට කැපවී ඇති බව දැකීමට වෙනත් කිසිවෙකුට අවශ්‍ය නැත. Blog.pagebakers.nl
ක්‍රිස් එස්ප්ලින්

6
Ug අගෝස්තුස්ට්ලීස්: එක් පරිශීලකයෙකුට ගිටිග්නෝර් එම භාවිත අවස්ථාව සඳහා වඩා හොඳය.
යාන්ත්‍රික ගොළුබෙල්ලා

3
මෙම ඉඟියට ස්තූතියි, මම git-svn භාවිතා කරමි, එබැවින් සේවාදායකයේ ඇති svn repo හි අනෙක් පරිශීලකයින්ට හරියටම අවශ්‍ය නොවනු ඇත .gitignore පරීක්ෂා කර ඇත.
enorl76

76

ඔබට ඇත්ත වශයෙන්ම .gitignoreඔබේ .gitignoreගොනුවට පේළියක් දැමිය හැකිය . මෙමඟින් .gitignoreගොනුව git විසින් නොසලකා හරිනු ඇත. මම හිතන්නේ නැහැ මේක හොඳ අදහසක් කියලා. නොසලකා හැරීමේ ගොනුව අනුවාදය පාලනය කර ලුහුබැඳිය යුතු යැයි මම සිතමි. මම මේක එළියට දාන්නේ සම්පූර්ණත්වය සඳහා.


7
මා වෙනුවෙන් වැඩ කළා! අනුවාදය 1.5.6.5. 1800 තොරතුරු සමඟ එය හොඳ අදහසක් නොවන බව මම ද එකඟ වෙමි, නමුත් සමහර සන්දර්භය තුළ එය හොඳ විය හැකි යැයි මම සිතමි (ඔබ git-svn ගබඩාවක් භාවිතා කරන බව පවසන්න, ඔබට git-ish ගොනු svn වෙත යාමට අවශ්‍ය නැත). බැහැර කරන ගොනුව බොහෝ විට වඩා හොඳය.
ජේ. පොල්ෆර්

4
@ehsanul - ගොනුව ලුහුබැඳිය යුතු නොවේ (ඔබ එය එකතු කර හෝ නොකළ යුතුව තිබුණි). ඔබට එය ඉවත් කළ හැකිය. මෙය බොහෝ විට git- පමණක් පරිසරයක හොඳ අදහසක් නොවේ, නමුත් ඔබ උදා: උපස්ථර ගබඩාවක් සඳහා ස්මාර්ට් සේවාදායකයකු ලෙස git භාවිතා කිරීම (අනෙක් අය නොදැන <ම i ් ac ාකල් සිනා>) - එවැනි උපක්‍රමයක් විශිෂ්ටයි.
ටොමාස් ගන්ඩෝර්

2
SIshanSrivastava ඔබ දැනටමත් ගොනුව ලුහුබැඳ ඇත. ධාවනය කිරීමට උත්සාහ කරන්නgit rm --cached .gitignore
ගිඩියොන්

53

ඔබගේ සියලු ගබඩාවලට .gitignoreස්වයංක්‍රීයව අදාළ වන ගෝලීය පරිශීලක git ගොනුවක් ද ඔබට තිබිය හැකිය . මෙම IDE සහ කර්තෘ ගොනු (උදා: සඳහා ප්රයෝජනවත් වේ හා විම් සඳහා ගොනු). ඔබගේ මෙහෙයුම් පද්ධතියට ගැලපෙන පරිදි නාමාවලි ස්ථාන වෙනස් කරන්න.swp*~

  1. ඔබගේ ~/.gitconfigගොනුවට එක් කරන්න :

    [core]
    excludesfile = /home/username/.gitignore
    
  2. ~/.gitignoreනොසලකා හැරිය යුතු ගොනු රටා සහිත ගොනුවක් සාදන්න .

  3. ඔබගේ තිත් ගොනු වෙනත් ගබඩාවක සුරකින්න එවිට ඔබට උපස්ථයක් (අත්‍යවශ්‍ය නොවේ).

ඔබ රෙපෝවක් පිටපත් කරන විට, ආරම්භ කරන විට හෝ ක්ලෝන කරන ඕනෑම වේලාවක ඔබේ ගෝලීය ගිටිග්නෝර් ගොනුව භාවිතා කරනු ඇත.


6
ඔබේ සංස්කාරකවරුන් තාවකාලික ලිපිගොනු අතහැර දමා ඇති අවස්ථාවන්ට මෙය හොඳම විසඳුම යැයි මම විශ්වාස කරමි. උදා. විවිධ IDE සහිත වෙනත් පරිශීලකයින්ට මෙම ලිපිගොනු පරීක්ෂා කිරීමට බල කිරීම.
තෝමස් හන්ටර් II

1
කිසිදු ශාඛාවකට තල්ලු නොකළ යුතු නොසලකා හැරීම් සඳහා මෙය දීප්තිමත් ලෙස ක්‍රියා කරයි. ඇත්ත වශයෙන්ම 'පරිශීලක නාමය' ඔබේ සත්‍ය පරිශීලක නාමය සමඟ ප්‍රතිස්ථාපනය කරන්න .ඔබට දැනටමත් එකක් තිබේ නම් .gitconfig වෙත දෙවන [හරය] කොටසක් එක් නොකරන්න - ඔබගේ පවතින [හරය] කොටස යටතේ බැහැර කරන ලද රේඛාව තබන්න.
emery

47

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

git update-index --assume-unchanged .gitignore

මූලාශ්රය .


5
නරක අදහසක්, හේතුවක් .git/info/excludesතිබේ.
ඇරෝමාස්ටර්

6
මම හිතන්නේ හේතුවක්ත් තියෙනවා --assume-unchanged. එකක් අනෙකට වඩා හොඳ ඇයි?
ලීෆ් ග ru න්වෝල්ඩ්

9
.git/info/excludesගොනුව දැනටමත් ලුහුබැඳ තිබේ නම් btw ක්‍රියා නොකරයි.
ලීෆ් ග ru න්වෝල්ඩ්

මේ වන විටත් කැපවී සිටින සහ වෙනස්කම් කිරීමට මා අකමැති වූ .ගිටිග්නෝර් සමඟ මෙය සැබවින්ම මට උපකාරී විය. මම උබුන්ටු 11.04 ගබඩාවලින් git 1.7.4.1 ධාවනය කරන අතර උදව් පිටු මෙය යාවත්කාලීන දර්ශකයට එක් කරයි. "මෙම විකල්පය ලුහුබැඳ ඇති ලිපිගොනු වල නොගැලපෙන වෙනස්කම් නොසලකා හැරීම සඳහා ගොරෝසු ගොනු මට්ටමේ යාන්ත්‍රණයක් ලෙසද භාවිතා කළ හැකිය. උදා: බැඳීමක දී ඒකාබද්ධ වන විට; මේ අනුව, උපකල්පනය නොකළ-සොයා නොගත් ගොනුව ඉහළට වෙනස් වුවහොත්, ඔබට තත්වය අතින් හැසිරවිය යුතුය.
YonahW

මෙම පිළිතුර සඳහා මම ඡන්දය දෙමි 'සාමාන්‍යයෙන් ඔබේ ප්‍රධාන නියෝජිතයා සඳහා මෙම ක්‍රියාව අවශ්‍ය වන අතර git ක්‍රියාකාරීත්වයේ ප්‍රතිලාභ තබා ගන්න. මෙම ගොනුව නොසලකා හැරීමට හොඳ හේතුවක් නැත (කාල පරිච්ඡේදය)
Lazaros Kosmidis

37

ඔබ .gitignoreගොනුව එකතු කර එය සිදු කළ පසු, එය තවදුරටත් "සලකුණු නොකළ ලිපිගොනු" ලැයිස්තුවේ නොපෙන්වයි.

git add .gitignore
git commit -m "add .gitignore file"
git status

20

අපට ඇති වූ වේදනාව වෙනත් කෙනෙකුට ඇති කරවන්න. අපට දැනටමත් අවශ්‍ය වූ ගොනුවක් බැහැර කිරීමට අවශ්‍ය විය.

මෙම ලිපිය වඩාත් ප්‍රයෝජනවත් විය: .git / info සමඟ වැඩ කිරීම / ප්‍රමාද වැඩියෙන් බැහැර කරන්න

ගොනුවක් නොසලකා හැරීමට අවශ්‍ය වන්නේ ඇත්ත වශයෙන්ම git remove විධානය භාවිතා කිරීමයි git rm බලන්න ( http://www.kernel.org/pub/software/scm/git/docs/git-rm.html )

ඔබ එය පරීක්ෂා කිරීමෙන්

git rm --dry-run *.log
(සියලුම ලොග් ගොනු බැහැර කිරීමට අවශ්‍ය යැයි ඔබ කියන්නේ නම්)

මෙය ඔබ ධාවනය කළහොත් බැහැර කළ යුතු දේ ප්‍රතිදානය කරයි.

එවිට

ඔබ එය ධාවනය කරන්නේ යන්න

git rm *.log
(හෝ ඔබට අවශ්‍ය ඕනෑම ගොනු නාමයක් / ප්‍රකාශනයක්)

ඉන්පසු *.logඔබේ .gitignoreගොනුවට පේළියක් එක් කරන්න .


4
ඇත්ත වශයෙන්ම, ඔබේ .ගිටිග්නෝර් වෙත අදාළ රටා (එනම්, * .log) එකතු කිරීමෙන් ඔබට මෙය පසු විපරම් කිරීමට අවශ්‍ය විය හැකිය, එබැවින් git statusඅනාගතයේ දී ඒවා පෙන්වන්නේ නම් ඔවුන් ඔබව අවුල් නොකරයි .
පැට්‍රික් ඕ ලෙයරි

2
මගේ ගැටලුව OP වලට සමාන නොවූවත්: .gitignore (ලිපිගොනු දැනටමත් ප්‍රචාරය වී ඇත්නම්) වෙනස් කිරීමෙන් පසු මගේ ගබඩාව පිරිසිදු කිරීමට RM භාවිතා කළ යුතු බව මට දන්වා තිබීම ගැන ස්තූතියි. , මම දනිමි, නමුත් කිසිවෙකු එය සඳහන් කිරීම මා පෞද්ගලිකව දැක ඇති පළමු ස්ථානය මෙයයි.
මයික්

ප්රතිචාර සඳහා ස්තූතියි. ඔව්, ඒ නිසයි මම එය ලිව්වේ, මෙහි පැමිණ පසුව මෙය ක්‍රියාත්මක කිරීම සඳහා බොහෝ දුරක් ගොස්, එය ලිවීම හොඳ යැයි සිතුවා. :)
පරිණාමය

17

ඇත්ත වශයෙන්ම .gitignore ගොනුව තත්වය මත පෙන්වයි, මන්ද එය සොයා නොගත් නිසා සහ git එය කෑමට රසවත් නව ගොනුවක් ලෙස දකින බැවිනි!

.Gitignore යනු හඳුනා නොගත් ගොනුවක් බැවින්, ඔබ එය .gitignore තුළට දැමූ විට එය git විසින් නොසලකා හැරිය යුතුය.

ඉතින්, පිළිතුර සරලයි: පේළිය එක් කරන්න:

.gitignore # Ignore the hand that feeds!

ඔබගේ .gitignore ගොනුවට!

තවද, අගෝස්තු මාසයේ ප්‍රතිචාරයට පටහැනිව, මම කිව යුත්තේ .gitignore ගොනුව ඔබේ ගබඩාවේ තිබිය යුතු බවයි. එය සිදුවිය හැක්කේ එය විය හැකි අතර එය බොහෝ විට පහසුය. .Gitignore නිර්මාණය කර ඇත්තේ .git / info / බැහැර කිරීම සඳහා විකල්පයක් ලෙස වන අතර, එය නිධිය විසින් සොයා ගැනීමට විකල්පයක් නොමැත. කෙසේ වෙතත්, ඔබ .gitignore ගොනුව භාවිතා කරන ආකාරය මුළුමනින්ම ඔබට භාරයි.

යොමු කිරීම සඳහා, kernel.org හි gitignore (5) manpage බලන්න .


සරල ප්‍රශ්නයකට අවශ්‍ය කෙටි පිළිතුර පමණි.
kenchew

15

ඔබේ ව්‍යාපෘතියට විශේෂිත වූ .gitignoreලිපිගොනු ගොනුවට දමා (දැනටමත් සඳහන් කර ඇති පරිදි) එය ගබඩාවට එක් කිරීම මෙහි අදහසයි . උදාහරණයක් ලෙස .pycසහ .oලිපිගොනු, පරීක්ෂණ කට්ටලය නිර්මාණය කරන ල logs ු-සටහන්, සමහර සවිකිරීම් ආදිය.

ඔබේම සැකසුම නිර්මාණය කරන නමුත් සෑම පරිශීලකයෙකුටම අනිවාර්යයෙන්ම නොපෙන්වන .swpලිපිගොනු සඳහා ( ඔබ vim, සැඟවුණු ecplise නාමාවලි සහ වෙනත් යනාදිය භාවිතා කරන්නේ නම්), ඔබ භාවිතා කළ යුතුය .git/info/exclude(දැනටමත් සඳහන් කර ඇති පරිදි).


14

පළමුවෙන්ම, වෙනත් බොහෝ අය දැනටමත් පවසා ඇති පරිදි, ඔබව .gitignoreGit විසින් නිරීක්ෂණය කළ යුතුය (එබැවින් නොසලකා හැරිය යුතුය). එයට හේතුව පැහැදිලි කිරීමට මට ඉඩ දෙන්න.

(TL; DR: .gitignoreගොනුව කැප කරන්න, ඔබේ IDE හෝ මෙහෙයුම් පද්ධතිය විසින් සාදන ලද ගොනු නොසලකා හැරීමට ගෝලීය.gitignore භාවිතා කරන්න)

Git යනු ඔබ දැනටමත් දන්නා පරිදි බෙදා හරින ලද අනුවාද පාලන පද්ධතියකි . මෙයින් අදහස් කරන්නේ විවිධ අනුවාදයන් අතර (ඉදිරියට විවිධ ශාඛා වලට අපසරනය වී ඇතත්) මාරුවීමට එය ඔබට ඉඩ සලසන අතර එකම ව්‍යාපෘතියේ වැඩ කිරීමට බහු සංවර්ධකයින්ට ඉඩ සලසයි.

.gitignoreඔබ ස්නැප්ෂොට් අතර මාරු වන විට ඔබේ ලුහුබැඳීමද ප්‍රතිලාභ ඇතත් , එය සිදු කිරීමට වඩාත්ම වැදගත් හේතුව වන්නේ එකම ව්‍යාපෘතියක වැඩ කරන වෙනත් සංවර්ධකයින් සමඟ ගොනුව බෙදා ගැනීමට ඔබට අවශ්‍ය වීමයි. ගොනුව Git වෙත යොමු කිරීමෙන්, වෙනත් දායකයින් විසින් .gitignoreනිධිය ක්ලෝන කරන විට ස්වයංක්‍රීයව ගොනුව ලැබෙනු ඇත , එබැවින් සිදු නොවිය යුතු ගොනුවක් අහම්බෙන් සිදු කිරීම ගැන ඔවුන්ට කරදර විය යුතු නැත (ලොග් ලිපිගොනු, හැඹිලි නාමාවලි, දත්ත සමුදා අක්තපත්‍ර වැනි) , ආදිය). යම් අවස්ථාවක දී ව්‍යාපෘතියේ .gitignoreයාවත්කාලීනයන් යාවත්කාලීන වුවහොත්, ගොනුව අතින් සංස්කරණය කිරීම වෙනුවට ඔවුන්ට එම වෙනස්කම් සිදු කළ හැකිය.

ඇත්ත වශයෙන්ම, ඔබට නොසලකා හැරීමට අවශ්‍ය සමහර ලිපිගොනු සහ ෆෝල්ඩර ඇත, නමුත් ඒවා ඔබට විශේෂිත වන අතර වෙනත් සංවර්ධකයින්ට අදාළ නොවේ. කෙසේ වෙතත්, ඒවා ව්යාපෘතියේ තිබිය යුතු නොවේ .gitignore. ඔබට ගොනු සහ ෆෝල්ඩර නොසලකා හැරිය හැකි තවත් ස්ථාන දෙකක් තිබේ:

  • ඔබේ මෙහෙයුම් පද්ධතිය හෝ IDE විසින් සාදන ලද ලිපිගොනු සහ ෆෝල්ඩර ගෝලීයව.gitignore තැබිය යුතුය . වාසිය නම් මෙය .gitignoreඔබේ පරිගණකයේ ඇති සියලුම ගබඩාවලට අදාළ වීමයි, එබැවින් සෑම නිධියකටම මෙය නැවත කිරීමට අවශ්‍ය නැත. ඔවුන් වෙනත් මෙහෙයුම් පද්ධතියක් සහ / හෝ IDE භාවිතා කරන බැවින් එය වෙනත් සංවර්ධකයින් සමඟ බෙදා නොගනී.
  • ව්යාපෘතියේ .gitignoreහෝ ගෝලීය නොවන ලිපිගොනු බැහැර.gitignore කර ඇති පැහැදිලි ගබඩාවyour_project_directory/.git/info/exclude භාවිතයෙන් නොසලකා හැරිය හැකිය . මෙම ගොනුව වෙනත් සංවර්ධකයින් සමඟ බෙදා නොගන්නා අතර එම තනි ගබඩාව සඳහා විශේෂිත වේ

ගෝලීය සඳහා සඳහන් කිරීම සතුටක්.gitignore
ග්‍රුබර්

ආරම්භක සැකසුමෙන් පසු .gitignore ගොනුව නොසලකා හැරිය යුතු යැයි මම සිතමි, එබැවින් අහම්බෙන් වෙනස්කම් නොමැත. එය තවදුරටත් වෙනස් කළ නොහැකි බව එයින් අදහස් නොකෙරේ, නමුත් එය එක්තරා ආකාරයකින් අනතුරු වලින් ආරක්ෂා වේ. එම ලිපිගොනුවෙහි සිදුවන අනතුරු නිසා ව්‍යාකූලත්වයක් ඇති විය හැකිය. නැතහොත් යම් වැඩකට අනතුරක් සිදුවිය හැකිය. එබැවින් “මුද්‍රා තැබීම” (නොසලකා හැරීම) ද සලකා බැලිය යුතුය.
සාසා

As සාසා .gitignoreවැඩ කරන්නේ තවමත් Git විසින් සොයා නොගත් ගොනු නොසලකා හැරීම සඳහා පමණි. දැනටමත් ලුහුබැඳ ඇති ගොනුවක් එක් .gitignoreකිරීමෙන් එම ගොනුවේ වෙනස්කම් කිරීමෙන් ඔබව වළක්වනු නොලැබේ. මෙය කළ හැකි වුවද, .gitignoreනොසලකා හැරීමට Git ට උපදෙස් දෙන විට ඔබ එය වෙනස් කරන්නේ කෙසේද?
නික් වෝර්ටෙල්

IcNic - මගේ දෘෂ්ටි කෝණයට සවිස්තරාත්මක පැහැදිලි කිරීමක් වෙනම පිළිතුරකින් ලබා දී ඇත this මෙම ත්‍රෙඩ් එකේ පතුල.
සාසා

12

පහත දැක්වෙන "ගැටලුව" ගැන විමසිල්ලෙන් සිටින්න සමහර විට ඔබට නාමාවලි එක් කිරීමට අවශ්‍ය නමුත් එම නාමාවලි තුළ ලිපිගොනු නොමැත. සරලම විසඳුම වන්නේ පහත අන්තර්ගතය සමඟ .gitignore නිර්මාණය කිරීමයි:

*

නාමාවලිය එකතු කර නොමැති බව ඔබ තේරුම් ගන්නා තෙක් මෙම මැහුම් හොඳින් ක්‍රියාත්මක වේ (ඔබේ ගබඩාවට අපේක්ෂා කළ පරිදි. එයට හේතුව .ගිටිග්නෝර් ද නොසලකා හරිනු ඇති අතර එමඟින් නාමාවලිය හිස් ය. මේ අනුව, ඔබ මේ වගේ දෙයක් කළ යුතුය :

*
!.gitignore

9

මෙය ඔබගේ වර්තමාන නාමාවලිය Gitසඳහා නිධියෙන් සියලුම ගොනු නොසලකා හැරීම සඳහා පමණක් ක්‍රියාත්මක වන බව පෙනේ .

මෙම ගොනුව යාවත්කාලීන කරන්න

.git/info/exclude 

ඔබගේ වල් කාඩ් හෝ ගොනු නාමය සමඟ

*pyc
*swp
*~

5

ඔබ දැනටමත් .gitignore හි පරීක්ෂා කර ඇත්නම් සහ ඔබට එහි වෙනස් කිරීම් නොසලකා හැරීමට අවශ්‍ය නම්, මෙම පිළිතුර බලන්න :

මෙම විධානය භාවිතා කිරීමට උත්සාහ කරන්න:

git update-index --assume-unchanged FILENAME_TO_IGNORE

එය ආපසු හැරවීමට (ඔබට කවදා හෝ එහි වෙනස්කම් කිරීමට අවශ්‍ය නම්), භාවිතා කරන්න:

git update-index --no-assume-unchanged

යාවත්කාලීන කිරීම :

වත්මන් නාමාවලිය යටතේ 'නොවෙනස්ව උපකල්පනය කරන්න' ගොනු ලැයිස්තුගත කරන්නේ කෙසේද යන්න මෙන්න :

git ls-files -v | grep -E "^[a-z]"

-vවිකල්පය 'වෙනස් නොවන උපකල්පනය' ගොනු සඳහා කුඩා අකුරු භාවිතා කරන බැවින් .


4

මගේ නඩුවේදී, පවතින ගොනුවක් බැහැර කිරීමට මට අවශ්‍යය. .Gitignore වෙනස් කිරීම පමණි . මම මෙම පියවර අනුගමනය කළෙමි:

git rm --cached dirToFile/file.php
vim .gitignore
git commit -a

මේ ආකාරයෙන්, මම බැහැර කිරීමට අවශ්‍ය ගොනුව හැඹිලියෙන් පිරිසිදු කර එය .gitignore වෙත එක් කළ පසු .


මට හොඳම විසඳුම. ඔබට git add ද භාවිතා කළ හැකිය. දෙවන ස්ථානයේ, ඊට පසු git commit -m "fixing .gitignore"
brainray

3

ඔබගේ git repo හි මූලික නාමාවලිය වෙත සංචාලනය කර පහත විධානය ක්‍රියාත්මක කරන්න:

echo '\\.*' >> .gitignore

එම කරදරකාරී ඇතුළුව සියලුම තිත් ගොනු නොසලකා හරිනු ඇත .DS_Store ඔබ මැක් එකක සිටී නම්.


4
මම ඒක කරන්නේ නැහැ. ඔබට අවශ්‍ය තිත් ගොනු තිබිය හැක. ඒ වෙනුවට, මම .gitignore සහ .DS_Store වචනාර්ථයෙන් එකතු කරමි.
එඩ්වඩ් ෆෝක්

2

එක්ලිප්ස් විසින් නිර්මාණය කරන ලද IDE විශේෂිත ෆෝල්ඩර නෙට්බීන්ස් හෝ වෙනත් IDE වලට සමාන නොවන නිසා අවසාන පරිශීලකයෙකුට ".gitignore" ගොනුව නොසලකා හැරීමට අවශ්‍ය විය හැකිය. එබැවින් ප්‍රභව කේත IDE ප්‍රතිවිරෝධී ලෙස තබා ගැනීම, තනි සංවර්ධකයින් විවිධ IDE භාවිතා කරන බැවින් සමස්ත කණ්ඩායම සමඟ බෙදා නොගන්නා අභිරුචි git නොසලකා හැරීම ජීවිතය පහසු කරයි.


1

කරදරකාරී .DS_Storeලිපිගොනු නොසලකා හැරීම සැකසීමට හොඳම ස්ථානය .git/info/excludeගොනුවේ ඇති බව මට පෙනී ගියේය .

IntelliJ ඔබ එය තුළ git ගබඩාවක් සැකසූ විට මෙය ස්වයංක්‍රීයව කරන බව පෙනේ.


1
පරිශීලකයාගේ ගෝලීය නොසලකා හැරීමේ ගොනුව නොසලකා හැරීමට වඩා හොඳ ස්ථානයක් වනු ඇත
.DS_Store

1

.gitignoreවෙනත් ගොනු නොසලකා හැරීම ගැන ය . git යනු ගොනු ගැන වන බැවින් මෙය ගොනු නොසලකා හැරීමකි. කෙසේ වෙතත්, git ගොනු ක්‍රියා විරහිත වන බැවින් අනෙක් ගොනුවේ නම් ලැයිස්තුගත කිරීමේ යාන්ත්‍රණය ලෙස මෙම ගොනුව තිබිය යුතුය.

එය හැඳින්වූයේ නම් .the_list_of_ignored_filesඑය තව ටිකක් පැහැදිලි විය හැකිය.

ප්‍රතිසමයක් යනු ඔබට කිරීමට අවශ්‍ය නැති කළ යුතු දේ ලැයිස්තුවකි. ඔබ ඒවා කොතැනක හෝ ලැයිස්තුගත නොකළහොත් යම් ආකාරයක 'කළ යුතු' ලැයිස්තුවක් ඔබ ඔවුන් ගැන නොදැන සිටියි.


1

.Gitignore නොසලකා හැරීම ඉතා ප්‍රයෝජනවත් වන අවස්ථා ඇතැයි මම සිතමි. උදාහරණයක් ලෙස, ඔබට එකම කණ්ඩායම් පදනමක් මත වැඩ කරන කණ්ඩායම් හෝ විශාල කණ්ඩායමක් සිටින විට. එවැනි අවස්ථාවකදී, ඔබට යම් සම්මුතීන් තිබිය යුතුය, එම සම්මුතීන්ගෙන් එකක් වන්නේ git repo හි නොසලකා හරින දේ පිළිබඳව ය. එය සාමාන්‍යයෙන් IDE හෝ OS විසින් සාදන ලද ලිපිගොනු සහ නාමාවලි නොසලකා හැරීම, ජනනය කරන ලද ලොග් ආදිය ය.

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

මේ සඳහා ප්‍රතිවිරුද්ධ බලයක් ලබා ගැනීම සඳහා අපට පහත පරිදි කළ හැකිය:

  1. ආරම්භක .ගිටිග්නෝර් කණ්ඩායම (කණ්ඩායම්) හි සම්මුතිය පිළිබිඹු කළ යුතුය,
  2. එය තල්ලු කළ පසු .gitignore සුරක්ෂිත කළ යුත්තේ .gitignore ඇතුළත් කිරීම සහ එම වෙනස නැවත තල්ලු කිරීමෙනි. .gitignoreගොනුව මේ ආකාරයෙන් " මුද්‍රා " කර ඇත.

" මුද්‍රා තැබූ " .gitignoreගොනුව දේශීයව පමණක් වෙනස් කළ හැකිය. කෙසේ වෙතත්, වෙනසක් මුළු කණ්ඩායම (කණ්ඩායම්) තුළම "මුද්‍රා තැබීම" කළ හැකි ප්‍රමාණයට වඩා පුළුල් ලෙස එකඟ වුවහොත්, එය වෙනස් කර නැවත "මුද්‍රා" කිරීමට වඩා. එය වැරදීමකින් කළ නොහැකිය, හිතාමතාම පමණි.

කනගාටුවට කරුණක් නම්, ඔබ මෝඩකමෙන් 100% ක් ආරක්ෂා කළ නොහැකි නමුත් මෝඩ දේවල් සිදුවීම වැළැක්වීම සඳහා ඔබට හැකි සෑම දෙයක්ම කර ඇත.

ඔබට ඉතා හොඳ වෘත්තිකයන් සිටින සාපේක්ෂව කුඩා කණ්ඩායමක් සිටී නම්, මෙය වැදගත් නොවනු ඇත, නමුත් ඒ අය පවා කනස්සල්ලට පත්වීමට එක් දෙයක් අඩු වීම අගය කරනු ඇත.

.git/info/excludeයටිතල පහසුකම් සැකසීම් ගැන ඔබට කිසිවක් කළ නොහැකි විට භාවිතා කිරීම සිසිල් ය, වැරැද්දක් නොකිරීමට ඔබේම දෑ ආවරණය කර ගන්න.

හරි දේ සහ වැරදි දේ පිළිබඳ ස්ථාවරයක සිට මම ඡන්දය දෙමි .ගටිගෝර් ලිපිගොනුව තුළට ඇතුළු වීම .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.