.gitignore ෆෝල්ඩරය බැහැර කරන නමුත් විශේෂිත උප ෆෝල්ඩරයක් ඇතුළත් කරන්න


1012

මා සතුව ඇති ෆෝල්ඩරය මා සතුව application/ඇත .gitignore. application/ෆෝල්ඩරයේ ඇතුළත ෆෝල්ඩරය application/language/grඇත. මෙම ෆෝල්ඩරය ඇතුළත් කරන්නේ කෙසේද?

මම මෙය උත්සාහ කර ඇත්තෙමි

application/
!application/language/gr/

වාසනාව නැතිව ...


1
" .gitignoreරටා ආකෘතිය" ප්‍රලේඛනය දැන් පැහැදිලි වී ඇතැයි අපේක්‍ෂා කරමු (2013 දෙසැම්බර්). බලන්න මගේ පිළිතුර පහත
VonC

මගේ ප්‍රියතම ප්‍රශ්නය සහ පිළිතුර, ප්‍රියතමයන්ට මෙන්ම බ්‍රව්සර් පිටු සලකුණු වලට එකතු කර ඇත.
codekiddy


මුලින්ම ස්ටීව් ක්ලින්ග්ස්ගේ පිළිතුර දෙස බලන්න.
ස්ටෙෆාන්

Answers:


1669

ඔබ බැහැර කරන්නේ නම් application/, එය යටතේ ඇති සියල්ල සැමවිටම බැහැර කරනු ලැබේ (පසුකාලීන negative ණාත්මක බැහැර කිරීමේ රටාවක් (“unignore”) යටතේ යම් දෙයකට ගැලපේ.application/ ).

ඔබට අවශ්‍ය දේ කිරීමට නම්, ඔබට “unignore” කිරීමට අවශ්‍ය ඕනෑම දෙයක නාමාවලිය “unignore” කළ යුතුය. සාමාන්‍යයෙන් ඔබ මෙම තත්වය සඳහා නීති රීති යුගල වශයෙන් අවසන් කරයි: නාමාවලියක ඇති සියල්ල නොසලකා හරින්න, නමුත් සමහර උප බහලුම් නොවේ.

# you can skip this first one if it is not already excluded by prior patterns
!application/

application/*
!application/language/

application/language/*
!application/language/gr/

සටහන
පසුපස /*යාම වැදගත් ය:

  • රටාව dir/නම් කරන ලද නාමාවලියක් dirසහ (ව්‍යංගයෙන්) ඒ යටතේ ඇති සියල්ල බැහැර කරයි .
    සමඟ dir/, Git කිසි විටෙකත් යටින් ඇති කිසිවක් දෙස නොබලනු ඇති අතර dir, එබැවින් කිසි විටෙකත් “බැහැර නොකරන” රටාවන් කිසිවක් යටින් ඇති කිසිවක් සඳහා යොදා නොගනී dir.
  • රටාව තමා dir/*ගැන කිසිවක් නොකියයි dir; එය යටින් ඇති සියල්ල බැහැර කරයි dir. සමඟ dir/*, Git හි සෘජු අන්තර්ගතයන් සැකසෙනු ඇතdir හි content , වෙනත් රටාවන්ට යම් අන්තර්ගතයක් (බැහැර කිරීමට) අවස්ථාවක් ලබා දෙයි ( !dir/sub/).

13
පසුපස ඇති තරු ලකුණු වැදගත්ද? එසේ නම්, අර්ථයේ වෙනස කුමක්ද? Gitignore ප්‍රලේඛනයේ විස්තර කර ඇති ඇල්ගොරිතම අනුව, පසුපස කප්පාදුවකින් අවසන් වීම නාමාවලියකට ගැලපෙන අතර එම නාමාවලියට යටින් ඇති මාර්ග. තරු ලකුණකින් අවසන් කිරීම පසුව ගෝලීය රටාවක් ලෙස ප්‍රතිකාරයට වැටෙනු ඇත. අත්හදා බැලීම් මඟින් තරු ලකුණු ප්‍රභේදය වැඩ කිරීමට පෙන්වයි, නමුත් එය පසුගාමී කප්පාදුවකින් අවසන් නොවේ. එය එසේ වීමට හේතුව තේරුම් ගැනීමට මම කැමතියි.
සෙහ්

124
@seh: ඔව්, පසුපස /*යාම වැදගත්. නාමාවලිය බැහැර කර ඇත්නම්, Git කිසි විටෙකත් එම නාමාවලියෙහි අන්තර්ගතය දෙස බලන්නේ නැත. රටාව dir/නම් කරන ලද නාමාවලියක් dirසහ (ව්‍යංගයෙන්) ඒ යටතේ ඇති සියල්ල බැහැර කරයි . රටාව තමා dir/*ගැන කිසිවක් නොකියයි dir; එය යටින් ඇති සියල්ල බැහැර කරයි dir. සමඟ dir/, Git කිසි විටෙකත් යටින් ඇති කිසිවක් දෙස නොබලනු ඇති අතර dir, එබැවින් කිසි විටෙකත් “බැහැර නොකරන” රටාවන් කිසිවක් යටින් ඇති කිසිවක් සඳහා යොදා නොගනී dir. සමඟ dir/*, Git dirහි content ජු අන්තර්ගතයන් ක්‍රියාවට නංවන අතර , වෙනත් රටාවන්ට යම් අන්තර්ගතයක් (බැහැර කිරීමට) අවස්ථාවක් ලබා දෙයි ( !dir/sub/).
ක්‍රිස් ජොන්සන්

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

8
මට මෙය වැඩ කිරීමට නොහැකි විය (පිස්සු .gitignore ගොනුව!), ඒ වෙනුවට මට අවශ්‍ය ඩිරෙක්ටරියට cd'ing කිරීමෙන් පසුව ගොනු බලෙන් එකතු කළෙමි. git add -f .
K0D4

2
ඔබට ප්‍රතිදානය මත විශ්වාසය තැබිය නොහැකි බව සලකන්න git status, එමඟින් ඉහළ මට්ටමේ නාමාවලිය එක් කිරීමට යන බව ඔබට කියනු ඇත. ඒ වෙනුවට, git addඉහළ මට්ටමේ නාමාවලියක් කරන්න, ඉන්පසු git statusරටාවට ගැලපෙන ගොනු වල උප කුලකය ලැයිස්තුගත කරනු ඇත.
මැතිව් ස්ට්‍රෝබ්‍රිජ්

142

Git 1.9 / 2.0 (Q1 2014) සඳහා කාර්ස්ටන් බ්ලීස් (kblees) වෙතින් 59856de කැපවීම එම අවස්ථාව පැහැදිලි කරයි:

gitignore.txt: බැහැර කළ නාමාවලිවල පුනරාවර්තන ස්වභාවය පැහැදිලි කරන්න

විකල්ප උපසර්ගයක් "!රටාව නොසලකා හරින ; පෙර රටාවකින් බැහැර කරන ඕනෑම ගැලපෙන ගොනුවක් නැවත ඇතුළත් වේ.

එම ගොනුවේ මව් නාමාවලිය බැහැර කර ඇත්නම් ගොනුවක් නැවත ඇතුළත් කළ නොහැක. ( *)
( *: git 2.8+ හි සමහර කොන්දේසි සපුරා නොමැති නම්, පහත බලන්න)
කාර්ය සාධන හේතූන් මත Git බැහැර කළ නාමාවලි ලැයිස්තුගත නොකරයි, එබැවින් අඩංගු ලිපිගොනු වල ඕනෑම රටාවක් අර්ථ දැක්වුවද කිසිදු බලපෑමක් නැත.

වචනාර්ථයෙන් ආරම්භ වන රටා සඳහා \පළමු " !" ඉදිරිපිට බැක්ස්ලෑෂ් (" ") තබන්න !, උදාහරණයක් ලෙස, " \!important!.txt".

නිශ්චිත නාමාවලියක් හැර අනෙක් සියල්ල බැහැර කිරීමට උදාහරණය foo/bar( /*කප්පාදුවකින් තොරව, ආදේශක කාඩ්පත ද ඇතුළත ඇති සියල්ල බැහැර කරයි foo/bar):

 --------------------------------------------------------------
     $ cat .gitignore
     # exclude everything except directory foo/bar
     /*
     !/foo
     /foo/*
     !/foo/bar
 --------------------------------------------------------------

ඔබේ නඩුවේ:

application/*
!application/**/
application/language/*
!application/language/**/
!application/language/gr/**

දී ඇති ෆෝල්ඩරයක් තුළ ගොනු සුදු ලැයිස්තු ගත කිරීමට පෙර ඔබ පළමුව සුදු ලැයිස්තු ෆෝල්ඩර කළ යුතුය .


යාවත්කාලීන කිරීම පෙබරවාරි / මාර්තු 2016:

Git 2.9.x / 2.10 (2016 මැද?) සමඟ, නැවත ඇතුළත් කළ මාවතේ ආදේශක කාඩ්පතක් නොමැති නම්, එම ගොනුවේ මව් නාමාවලිය බැහැර කර ඇත්නම් ගොනුවක් නැවත ඇතුළත් කළ හැකි බව සලකන්න .

Nguyễn Thái Ngọc Duy ( pclouds) මෙම අංගය එක් කිරීමට උත්සාහ කරයි:

Git 2.9+ සමඟ, මෙය සැබවින්ම ක්‍රියාත්මක විය හැකි නමුත් අවසානයේ එය ආපසු හරවන ලදි:

application/
!application/language/gr/

කවුළු සඳහා වන git මත ඔබගේ පිළිතුර අවසානයේ පළ කරන ලද යාවත්කාලීන කරන ලද නැවත ඇතුළත් කිරීමේ වාක්‍ය ඛණ්ඩය භාවිතා කිරීමට මම උත්සාහ කළ v2.8.1.windows.1නමුත් එය ක්‍රියාත්මක වන බවක් නොපෙනේ :(
ඩේවිඩ් හැන්කොක්

1
Av ඩේවිඩ් හැන්කොක් කණගාටුයි, මම පිළිතුර සංස්කරණය කර ඇත: මෙය තවම ලබා ගත නොහැක.
VonC

1
Av ඩේවිඩ් හැන්කොක් මා ද: එය 13 කට වඩා වැඩි ය. පිටාර ගැලීම් පිළිතුරු මට කිහිප වතාවක් සංස්කරණය කිරීමට සිදු විය!
VonC

5
Git 2.9 ඊයේ නිකුත් විය. පිළිතුරෙහි සඳහන් application/+ !application/language/gr/රටාව තහවුරු කිරීම අපේක්ෂිත පරිදි ක්‍රියාත්මක වේ.
රේ ෂාන්

1
AyRayShan අමුතුයි: ආපසු හැරවීමේ කැපවීම එම අංගය අවලංගු කරන බව මම දැක ඇත්තෙමි, නමුත් මම දැක නැත (සහ මුදා හැරීමේ සටහන github.com/git/git/blob/master/Documentation/RelNotes/2.9.0.txt හි සඳහන් නොවේ) .gitignore නීති වැඩි දියුණු කිරීම සඳහා වන ඕනෑම කැපවීමක්.
VonC

54

H ක්‍රිස් ජොන්සන්ගේ පිළිතුර විශිෂ්ටයි, නමුත් Git හි නවතම අනුවාදයන් සමඟ (1.8.2 හෝ ඊට පසු), ඔබට තව ටිකක් කෙටිකාලීන විසඳුමක් සඳහා උත්තේජනය කළ හැකි ද්විත්ව තරු ලකුණු රටාවක් ඇත:

# assuming the root folder you want to ignore is 'application'
application/**/*

# the subfolder(s) you want to track:
!application/language/gr/

මේ ආකාරයෙන් ඔබට නිරීක්ෂණය කිරීමට අවශ්‍ය උප ෆෝල්ඩරයේ මව් නාමාවලිය "නොසලකා හැරීම" අවශ්‍ය නොවේ.


Git 2.17.0 සමඟ (මෙම අනුවාදයට පෙර කොපමණ වේලාවකට පෙරදැයි නිශ්චිතවම කිව නොහැක. සමහර විට 1.8.2 දක්වා ආපසු යා හැක), **ඔබේ ගොනුව (ගොනු) දක්වා දිවෙන එක් එක් උප බහලුම සඳහා බැහැර කිරීම් සමඟ ඒකාබද්ධ වූ රටාව භාවිතා කරයි. උදාහරණයක් වශයෙන්:

# assuming the root folder you want to ignore is 'application'
application/**

# Explicitly track certain content nested in the 'application' folder:
!application/language/
!application/language/gr/
!application/language/gr/** # Example adding all files & folder in the 'gr' folder
!application/language/gr/SomeFile.txt # Example adding specific file in the 'gr' folder

9
අහෝ, මෙය අසමත් වේ (Git 1.8.4.msysgit.0) මන්දයත් රටාවට **ශුන්‍ය උප ෆෝල්ඩර සමඟ සැසඳිය හැකි අතර *එය ගැලපීම languageහා බැහැර කිරීම, ඇතුළත් කිරීම වළක්වයි gr. දෙමව්පියන්ගේ සම්පූර්ණ දාමය - ක්‍රිස් ජොන්සන් නිර්දේශ කරන්නේ තවමත් අවශ්‍ය බවයි.
ෂෝන් ගුග්ලර්

3
පරිපූර්ණ බවක් /www/**/* !/www/config.xml !/www/resපෙනේ, නමුත් එය මට git 2.3.7 හි ක්‍රියා නොකරයි ... config.xml සහ res නාමාවලිය තවමත් නොසලකා හැර ඇත.
රොබ්

Ob රොබ් ඔබත් එකතු කළ යුතුයි !/www/res/. ඔබට folder/**/*රටාව භාවිතා කළ හැකිය , නමුත් ඔබට එක් කිරීමට අවශ්‍ය එක් එක් උප බහලුම සඳහා බැහැර කිරීම් එකතු කිරීමට අවශ්‍යය. නොසලකා හැරීම / බැහැර කිරීම යන සංයෝජනයට වඩා එය තවමත් කෙටි හා කියවිය හැකි ය.
බෙන් කේන්

එය පැරණි අදහසක් බව මම දනිමි, නමුත් ඔබ කුතුහලයෙන් සිටී නම්. මෙම ප්‍රවේශය ලේඛනගත කරන පිළිතුරට මම සංස්කරණයක් එක් කළෙමි.
බෙන් කේන්

22

මේ පිළිබඳව සමාන ප්‍රශ්න රාශියක් ඇත, එබැවින් මම කලින් ලියා ඇති දේ පළ කරමි:

මගේ යන්ත්‍රයේ වැඩ කිරීමට මට ඇති එකම ක්‍රමය එය මේ ආකාරයෙන් කිරීමයි:

# Ignore all directories, and all sub-directories, and it's contents:
*/*

#Now ignore all files in the current directory 
#(This fails to ignore files without a ".", for example 
#'file.txt' works, but 
#'file' doesn't):
*.*

#Only Include these specific directories and subdirectories:
!wordpress/
!wordpress/*/
!wordpress/*/wp-content/
!wordpress/*/wp-content/themes/
!wordpress/*/wp-content/themes/*
!wordpress/*/wp-content/themes/*/*
!wordpress/*/wp-content/themes/*/*/*
!wordpress/*/wp-content/themes/*/*/*/*
!wordpress/*/wp-content/themes/*/*/*/*/*

ඔබට ඇතුළත් කිරීමට අවශ්‍ය සෑම මට්ටමකටම අන්තර්ගතයට පැහැදිලිවම ඉඩ දිය යුතු ආකාරය සැලකිල්ලට ගන්න. එබැවින් මට තේමාවන් යටතේ ගැඹුරු 5 උප බහලුම් තිබේ නම්, මට තවමත් එය අක්ෂර වින්‍යාසය අවශ්‍ය වේ.

මෙය @ යරින්ගේ අදහස් දැක්වීමෙන්: https://stackoverflow.com/a/5250314/1696153

මේවා ප්‍රයෝජනවත් මාතෘකා විය:

මමත් උත්සාහ කළා

*
*/*
**/**

සහ **/wp-content/themes/**

හෝ /wp-content/themes/**/*

ඒ කිසිවක් මට වැඩ කළේ නැත. අත්හදා බැලීම් සහ දෝෂ ගොඩක්!


1
සටහන: .gitignore ගොනුවක ද ඇණවුම වැදගත් බව මතක තබා ගන්න, එබැවින් ඔබේ !නීති රීති පතුලේ තැබීමට වග බලා ගන්න .
starbeamrainbowlabs


8

සරලම හා බොහෝ විට හොඳම ක්‍රමය වන්නේ ගොනු අතින් එකතු කිරීමට උත්සාහ කිරීමයි (සාමාන්‍යයෙන් මෙය .gitignoreවිලාසිතාවේ නීතිවලට වඩා ප්‍රමුඛතාවය ගනී ):

git add /path/to/module

ධජය -N එක් කිරීමේ අභිප්‍රාය ඔබට අවශ්‍ය විය හැකිය , ඔබ ඒවා එකතු කරන ලෙස යෝජනා කිරීමට, නමුත් වහාම නොවේ. මම බොහෝ විට මෙය කරන්නේ නව ලිපිගොනු සඳහා ය.


මෙය පහසුවෙන් අනුපිටපත් QA විය හැකි දේ පිළිබඳ පළ කරන ලද පිළිතුරක පිටපතකි . දෘශ්‍යතාව වැඩි කිරීම සඳහා මම එය මෙහි නැවත තැපැල් කරමි g ගිටිගෝර් නීති රීති අවුල් නොකිරීමට මට පහසුය.


2
මෙම පිළිතුරට ස්තූතියි. මට -f එකතු කිරීමට සිදු වූයේ එය මගේ .gitignore හි ඇති ආකාරයට ය: git add -f path / to / file
jasonflaherty

6

ඉතින්, බොහෝ ක්‍රමලේඛකයින් නෝඩ් භාවිතා කරන බැවින්. මෙම ප්‍රශ්නය සපුරාලන භාවිත අවස්ථාව වන්නේ node_modulesඑක් මොඩියුලයක් හැර බැහැර module-aකිරීමයි:

!node_modules/

node_modules/*
!node_modules/module-a/

2
Git අනුවාදය සඳහා ක්‍රියා නොකරයි 2.10.2.windows.1.
සෙබස්තියන්

1
Git අනුවාදය 2.10.2 සඳහා මෙම පිළිතුර
nalexn

👌 නියමයි 👋.
ඇබ්ඩෙනෝර් ටූමි

6

අමතර පිළිතුරක් එක් කරන්න:

!/.vs/              <== include this folder to source control, folder only, nothing else
/.vs/*              <== but ignore all files and sub-folder inside this folder
!/.vs/ProjectSettings.json <== but include this file to source control
!/.vs/config/       <== then include this folder to source control, folder only, nothing else
!/.vs/config/*      <== then include all files inside the folder

මෙහි ප්‍රති result ලය:

රූප විස්තරය මෙහි ඇතුළත් කරන්න


2
දර්ශන උපකාරී වූ බැවින් මෙය මට වඩාත්ම ප්‍රයෝජනවත් පිළිතුර විය. ස්තූතියි!
ජොයෙල් මර්ෆි

4

විශේෂයෙන් පැරණි Git අනුවාද සඳහා, බොහෝ යෝජනා එතරම් සාර්ථක නොවනු ඇත. එය එසේ නම්, වෙනත් සැකසුම් නොසලකා අන්තර්ගතය ඇතුළත් කිරීමට අවශ්‍ය ඩිරෙක්ටරියට වෙනම .ගිටිග්නෝර් එකක් දමා අවශ්‍ය දේට ඉඩ දෙන්න.

උදාහරණයක් ලෙස: /.gitignore

# ignore all .dll files
*.dll

/dependency_files/.gitignore

# include everything
!*

එබැවින් / යැපුම්_ ලිපිගොනු (.dll ගොනු පවා) සියල්ල හොඳින් ඇතුළත් කර ඇත.


4

මෙවැනිම සිද්ධියක් මා විසින් සොයාගෙන ඇත, එහිදී පෙරනිමියෙන්, තරු ලකුණු .gitignoreභාවිතා කිරීම නොසලකා හරිමින් පොදු නාමාවලිය අභිබවා යයි.

*
!public
!.gitignore

ඔබ OP තත්වයට දිව ගියහොත් මෙය ප්‍රමාණවත් නොවේ.

ඔබට නිශ්චිත උප ෆෝල්ඩරයක් කිරීමට අවශ්‍ය නම් public, උදා. ඔබේ public/productsනාමාවලියෙහි එක් උප ෆෝල්ඩරයක ගැඹුරු ගොනු ඇතුළත් කිරීමට අවශ්‍ය යැයි කියන්න. උදා: public/products/a/b.jpgඒවා නිවැරදිව හඳුනාගත නොහැකි වනු ඇත, ඔබ ඒවා විශේෂයෙන් මේ ආකාරයෙන් එකතු කළත් !/public/products,!public/products/* ආදිය ..

විසඳුම නම්, මේ සියල්ල මඟ හැරවීම සඳහා ඔබ මේ වගේ සෑම මාර්ග මට්ටමකටම ප්‍රවේශයක් එක් කිරීමට වග බලා ගැනීමයි.

*
!.gitignore
!public/
!public/*/
!public/products/
!public/products/*
!public/products/*/
!public/products/*/
!public/products/*/*

3

ඔබට අවශ්‍ය දේ හරියටම ලබා ගැනීම සඳහා නාමාවලි ව්‍යුහය හරහා ගමන් කිරීම පිළිබඳ තවත් උදාහරණයක්. සටහන: මම බැහැර කළේ නැහැ Library/නමුත්Library/**/*

# .gitignore file
Library/**/*
!Library/Application Support/
!Library/Application Support/Sublime Text 3/
!Library/Application Support/Sublime Text 3/Packages/
!Library/Application Support/Sublime Text 3/Packages/User/
!Library/Application Support/Sublime Text 3/Packages/User/*macro
!Library/Application Support/Sublime Text 3/Packages/User/*snippet
!Library/Application Support/Sublime Text 3/Packages/User/*settings
!Library/Application Support/Sublime Text 3/Packages/User/*keymap
!Library/Application Support/Sublime Text 3/Packages/User/*theme
!Library/Application Support/Sublime Text 3/Packages/User/**/
!Library/Application Support/Sublime Text 3/Packages/User/**/*macro
!Library/Application Support/Sublime Text 3/Packages/User/**/*snippet
!Library/Application Support/Sublime Text 3/Packages/User/**/*settings
!Library/Application Support/Sublime Text 3/Packages/User/**/*keymap
!Library/Application Support/Sublime Text 3/Packages/User/**/*theme

> git add Library

> git status

On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    new file:   Library/Application Support/Sublime Text 3/Packages/User/Default (OSX).sublime-keymap
    new file:   Library/Application Support/Sublime Text 3/Packages/User/ElixirSublime.sublime-settings
    new file:   Library/Application Support/Sublime Text 3/Packages/User/Package Control.sublime-settings
    new file:   Library/Application Support/Sublime Text 3/Packages/User/Preferences.sublime-settings
    new file:   Library/Application Support/Sublime Text 3/Packages/User/RESTer.sublime-settings
    new file:   Library/Application Support/Sublime Text 3/Packages/User/SublimeLinter/Monokai (SL).tmTheme
    new file:   Library/Application Support/Sublime Text 3/Packages/User/TextPastryHistory.sublime-settings
    new file:   Library/Application Support/Sublime Text 3/Packages/User/ZenTabs.sublime-settings
    new file:   Library/Application Support/Sublime Text 3/Packages/User/adrian-comment.sublime-macro
    new file:   Library/Application Support/Sublime Text 3/Packages/User/json-pretty-generate.sublime-snippet
    new file:   Library/Application Support/Sublime Text 3/Packages/User/raise-exception.sublime-snippet
    new file:   Library/Application Support/Sublime Text 3/Packages/User/trailing_spaces.sublime-settings

මට කිරීමට අවශ්‍ය දේ හරියටම ;-)
කිට්සි

3

වර්ඩ්ප්‍රෙස් හි, මෙය මට උදව් විය:

wp-admin/
wp-includes/
/wp-content/*
!wp-content/plugins/
/wp-content/plugins/*
!/wp-content/plugins/plugin-name/
!/wp-content/plugins/plugin-name/*.*
!/wp-content/plugins/plugin-name/**

3

gitignore - නොසලකා හැරීම සඳහා හිතාමතාම සොයා නොගත් ගොනු නියම කරයි.

විශේෂිත ඩිරෙක්ටරියක් foo / bar හැර අනෙක් සියල්ල බැහැර කිරීමේ උදාහරණය ( කප්පාදුවකින් තොරව / * - සටහන් කරන්න , ආදේශක කාඩ්පත foo / bar තුළ ඇති සියල්ල බැහැර කරයි ):

$ cat .gitignore
# exclude everything except directory foo/bar
/*
!/foo
/foo/*
!/foo/bar

වර්ඩ්ප්‍රෙස් සඳහා තවත් උදාහරණයක් :

!/wp-content
wp-content/*
!/wp-content/plugins
wp-content/plugins/*
!wp-content/plugins/my-awesome-plugin

වැඩි විස්තර මෙතැනින්: https://git-scm.com/docs/gitignore


2

මම බොහෝ විට CLI හි මෙම ක්‍රියාකාරීත්වය භාවිතා කරමි .gitignore, එහිදී මගේ වින්‍යාස කිරීම වෙනුවට , වෙනම .includeගොනුවක් සාදමි, එහිදී සෘජු හෝ පුනරාවර්තන ලෙස නොසලකා හරින ලද නාමාවලි තිබියදීත් මට ඇතුළත් කළ යුතු (උප) නාමාවලි නිර්වචනය කරමි..gitignore .

මේ අනුව, මම අතිරේකව භාවිතා කරමි

git add `cat .include`

සිදු කිරීමට පෙර, වේදිකා ගත කිරීමේදී.

OP වෙත, .includeමෙම රේඛා ඇති a භාවිතා කිරීමට මම යෝජනා කරමි :

<parent_folder_path>/application/language/gr/*

සටහන: භාවිතා කිරීම $ HOME (හෝ වෙනත් විශේෂිත නාමාවලියක්) නියම කිරීම සඳහා cat(ඇතුළත .include) අන්වර්ථයන් භාවිතා කිරීමට ඉඩ නොදේ . මෙයට හේතුව ඉහත විධානය භාවිතා කරන homedir/app1/* විට පේළිය git addදිස්වන git add 'homedir/app1/*'අතර තනි උපුටා දැක්වීම්වල අක්ෂර ඇතුළත් කිරීම ('') උපුටා දැක්වීම් තුළ ඇති එක් එක් අක්‍ෂරයේ වචනාර්ථමය වටිනාකම ආරක්ෂා කරන අතර අන්වර්ථයන් වළක්වයි (වැනි) අක්‍ෂරයකම වචනාර්ථමය හෝමෙඩිර් ) ක්‍රියාකාරී වළක්වයි ( Bash Single බලන්න උපුටා දැක්වීම් ).

මෙහි උදාහරණයක් වන්නේ .includeමගේ ණයකට භාවිතා ගොනුව මෙතන .

/home/abhirup/token.txt
/home/abhirup/.include
/home/abhirup/.vim/*
/home/abhirup/.viminfo
/home/abhirup/.bashrc
/home/abhirup/.vimrc
/home/abhirup/.condarc

1

මට jquery නිෂ්පාදන js ගොනු සොයා ගැනීමට අවශ්‍ය වූ අතර මෙය ක්‍රියාත්මක විය:

node_modules/*
!node_modules/jquery
node_modules/jquery/*
!node_modules/jquery/dist/*


0

මෙය මට ප්‍රයෝජනවත් විය:

**/.idea/**
!**/.idea/copyright/
!.idea/copyright/profiles_settings.xml
!.idea/copyright/Copyright.xml
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.