.Gitignore සහ .gitkeep අතර ඇති වෙනස්කම් මොනවාද?


1936

.gitignoreසහ අතර ඇති වෙනස්කම් .gitkeepමොනවාද? ඔවුන් එකම නම වෙනත් නමකින් යුක්තද, නැතහොත් ඔවුන් දෙදෙනාම වෙනස් ශ්‍රිතයක් ඉටු කරනවාද?

මට බොහෝ ලියකියවිලි සොයාගත නොහැකි බව පෙනේ .gitkeep.

Answers:


3472

.gitkeep ලේඛනගත කර නැත, මන්ද එය Git හි අංගයක් නොවන බැවිනි.

Git හට සම්පූර්ණයෙන්ම හිස් නාමාවලියක් එක් කළ නොහැක . Git හි හිස් නාමාවලි සොයා ගැනීමට කැමති අය .gitkeepමෙම නාමාවලිවල ගොනු ගොනු කිරීමේ සම්මුතිය නිර්මාණය කර ඇත. ගොනුව ඕනෑම දෙයක් ලෙස හැඳින්විය හැකිය; Git මෙම නමට විශේෂ වැදගත්කමක් නොදක්වයි.

.gitignoreඒවා සොයා ගැනීම සඳහා හිස් නාමාවලි වලට ගොනුවක් එක් කිරීමේ තරඟකාරී සම්මුතියක් ඇත , නමුත් සමහර අය මෙය අවුල් සහගත ලෙස දකින්නේ ඉලක්කය වන්නේ හිස් නාමාවලි තබා ගැනීම මිස ඒවා නොසලකා හැරීම නොවේ; .gitignoreහඳුනා නොගත් ලිපිගොනු සොයන විට Git විසින් නොසලකා හැරිය යුතු ගොනු ලැයිස්තුගත කිරීමට ද භාවිතා කරයි.


415
READMEඑම උප බහලුම භාවිතා කිරීමට යන්නේ කුමක් ද යන්න පිළිබඳ සුළු තොරතුරු අඩංගු ගොනුවක් වෙනත් ආකාරයකින් හිස් උප බහලුමක තැබීම වඩා හොඳ විසඳුමක් නොවේද? .gitkeepඇත්ත වශයෙන්ම git හි කොටසක් නොවන ගොනුවක් තිබීම ව්‍යාකූල බවක් පෙනේ .
tamouse

425
බොහෝ විට හිස් ඩිරෙක්ටරියේ මාර්ගය (උදා: ෆෝල්ඩරවල නම්) එහි අරමුණ ප්‍රකාශ කිරීමට ප්‍රමාණවත් වේ (උදාහරණ: සැකිලි / හැඹිලි, උඩුගත / මාපට ඇඟිලි ආදිය). මෙම අවස්ථා වලදී මේ සෑම එකක්ම කියවීමක් කිරීම අතිරික්තයක් ලෙස හැඟේ.
හැලිල් ඔස්ගර්

16
හිස් ඩිරෙක්ටරි පිළිබඳ තොරතුරු දැනගැනීමට අවශ්‍ය පුද්ගලයින් README හි දැක්විය යුත්තේ ඩිරෙක්ටරිය නිර්මාණය කළ යුතු බව හෝ ඒවායේ

32
@tamouse, @omouse: .gitignoreපේළි දෙකක් සහිත ගොනුවක්: *සහ !.gitignoreසිදුවෙමින් පවතින දේ ප්‍රකාශ කිරීමට ප්‍රමාණවත් තරම් පැහැදිලි බවක් ඇත. වැඩි විස්තර කිරීමක් අවශ්‍ය නම්, # සින්ටැක්ස් භාවිතයෙන් ගොනුවේ ඉහළට අදහස් දැක්වීමක් එක් කරන්න .
ඩ්‍රෝගන්ස්

66
හිස් ෆෝල්ඩර ලුහුබැඳ නොයන එකම ප්‍රභව පාලන පද්ධතිය වන්නේ git නොවන බැවින් ජනප්‍රිය රේල්ස් රාමුව මෙම හිස් ෆෝල්ඩර ආරක්ෂා .keepකිරීම වෙනුවට ලිපිගොනු භාවිතා කරමින් මෙම සම්මුතිය තරමක් වෙනස් කර ඇති බව සැලකිල්ලට ගැනීම වටී .gitkeep. වැඩි විස්තර මෙතැනින්: github.com/rails/rails/issues/2800
ක්ලෝඩියෝ ෆ්ලෝරියානි

332

.gitkeepස්ථානගත කිරීමක් පමණි. ව්‍යාජ ගොනුවක්, එබැවින් Git ගොනු පමණක් ලුහුබඳින බැවින් නාමාවලිය ගැන Git අමතක නොකරනු ඇත.


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

# .gitignore sample
###################

# Ignore all files in this dir...
*

# ... except for this one.
!.gitignore

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

# .gitignore to keep just .txt files
###################################

# Filter everything...
*

# ... except the .gitignore...
!.gitignore

# ... and all text files.
!*.txt

('#' අදහස් දැක්වීම් දක්වයි.)


3
මම මේ පුරුද්දට කැමතියි. මෙම බහලුම් මූල කේතය තිබුණා නම් .gitkeep අවශ්යතාවය හා පොදු නැත වනු ඇත එය පරීක්ෂා තුළ ඔබ ද .gitignore එම ගොනු කිරීමට ඇති හොඳ හරිය ජනනය කරන අතර ඒ තාවකාලික / cache / පරිශීලක අන්තර්ගත වන්නේ
chrisan

1
ඔබට !ඉදිරියෙන් අවශ්‍ය ඇයි .gitignore? එය තිතෙන් බේරීම සඳහාද?
විල්

7
Ill විල් - නැත, !සාමාන්‍යයෙන් ක්‍රමලේඛනයේදී මෙන් පහත කොටස ප්‍රතික්ෂේප කරයි.
sjas

3
!.gitignoreGit නොසලකා හරින ගොනුවක් දැමීමට අවශ්‍ය නැත , එක්කෝ ගොනුව එකතු කර එය සංස්කරණය කරන්න, නැතහොත් සුදුසු අන්තර්ගතයන් සමඟ එය එකතු කිරීමට බල කරන්න (සියල්ල නොසලකා හැරීමට "*" හෝ ෆෝල්ඩරය පවතින බවට සහතික කර ගැනීමට කිසිවක් නැත) වැඩිදුර උදාහරණය .
AD7six

13
ඔබගේ සබැඳියෙන්: Since the git ignore file is already in the repo it is not necessary to not-ignore it - it is already tracked.------ එය එසේ නොවේ නම් සහ ඔබ බලවත් එකතු කිරීමක් නොකරන්නේ නම්, ඔබට එය අමතක විය හැකිය. සුළු අවස්ථා වලදී, ගැටළුවක් නැත, නමුත් එය විශාල ගොනුවක් නම් ඔබ කලබල විය හැකිය. භාවිතා !.gitignoreකිරීමෙන් ඔබේ පාදයට වෙඩි තැබීම වළක්වයි. අතීතයේ මා විසින්ම පුළුස්සා දැමූ මම එයට කැමතියි.
sjas

127
.gitignore

ඔබගේ නාමාවලියෙහි ඇති ගොනු ලැයිස්තුවක් ඇතුළත් පෙළ ගොනුවක් වන අතර එය ගබඩාව තුළ නොසලකා හරිනු ඇත.

.gitkeep

Git නිධියකට හිස් නාමාවලි ඉවත් කිරීම හෝ එකතු නොකිරීම නිසා, .gitkeep යනු ගබඩාවේ හිස් නාමාවලි තබා ගැනීම සඳහා (එය නිල වශයෙන් Git හි කොටසක් ලෙස නම් කර ඇතැයි මම නොසිතමි).

හුදෙක් කරන්න touch /path/to/emptydirectory/.gitkeepගොනු එකතු කිරීමට, සහ දැන් Git නිධිය තුල මෙම බහලුම පවත්වා ගැනීමට හැකි වනු ඇත.


18
.gitignoreසෑම විටම සෑම ෆෝල්ඩරයකටම සම්පූර්ණ මාර්ගය නියම කිරීමට ඔබට අවශ්‍ය නැතිනම් ඔබට අවශ්‍ය තරම් ප්‍රමාණයක් තිබිය හැකිය .
sjas

1
මම හිස් ඩිරෙක්ටරි ලැයිස්තුව .gitkeepගොනුවට සඳහන් කිරීමට උත්සාහ කළ නමුත් එය හිස් ඩිරෙක්ටරි ලුහුබැඳ නොයනු ඇත, .gitkeepගොනුව පවතින ෆෝල්ඩර ධාවන පථය පමණි . ඇයි එහෙම ?
පර්දීප් ජේන්

3
.gitkeep .gitignore මෙන් ක්‍රියා නොකරයි. එය තබා ගත යුතු නාමාවලි ලැයිස්තුවක් නොවේ. එය හුදෙක් හිස් ගොනුවක් වන අතර එය ඔබට තබා ගැනීමට අවශ්‍ය නාමාවලියෙහි වාසය කරයි. ඔබට අවශ්‍ය ඕනෑම දෙයක් නම් කළ හැකිය .කීප්, ආදිය. එබැවින් ඔබට / foo / bar වැනි නාමාවලියක් තිබිය හැකි අතර gitkeep ගොනුව /foo/bar/.gitkeep වනු ඇත
ජිම් මුන්රෝ

jsjas .gitignoreසෑම වාරයක් තුළම සෑම ෆෝල්ඩරයකටම සම්පූර්ණ මාර්ගය නියම කිරීමෙන් බහුවිධ s තිබීම ඔබව බේරා ගන්නේ කෙසේද? මම හිතන්නේ මට පැහැදිලි දෙයක් මග හැරී ඇත.
විල්ව්ෂාප්
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.