নির্দিষ্ট ডিরেক্টরি বাদে সবকিছু উপেক্ষা করার জন্য .gitignore ব্যবহার করা


140

আমার সমস্যাটি হ'ল আমার গিট রেপোতে আমার প্রচুর ওয়ার্ডপ্রেস ওয়েবসাইট রয়েছে, যার মধ্যে আমি themesওয়ার্ডপ্রেসে পাওয়া অপ্রয়োজনীয় ফাইলগুলি উপেক্ষা করে আমি কেবলমাত্র আমার ফোল্ডারগুলির বিষয়বস্তু নির্বাচন করতে চাই ।

আমি আগে ফাইল ধরণের উপেক্ষা করার জন্য .gitignore ফাইল ব্যবহার করেছি, তবে এটি অন্য উপায়ে ব্যবহার করা যেতে পারে- এটি কোনও নির্দিষ্ট ফোল্ডারের পাথের সবকিছুকেই উপেক্ষা করা?

মূল (গিট রেপো)
- / ওয়ার্ডপ্রেস
- - / (ওয়ার্ডপ্রেস সাইট 1) / ডাব্লুপি-কনটেন্ট / থিম
- - / (ওয়ার্ডপ্রেস সাইট 2) / ডব্লিউপি-কন্টেন্ট / থিমস
- - (ওয়ার্ডপ্রেস সাইট 3) / ডব্লিউপি-কন্টেন্ট / থিম

Thanks-

হালনাগাদ:

উত্তরের উপর ভিত্তি করে আমি নিম্নলিখিতগুলি করেছি, তবে এটি কাজ করছে না। কোন ধারনা?

# Ignore everything:
*
# Except for wordpress themes:
!*/wp-content/themes/*

আমি নিম্নলিখিত বৈচিত্রগুলিও চেষ্টা করেছি:

!*/wp-content/themes*
!*wp-content/themes/*
!wp-content/themes/*
!/wordpress/*/wp-content/themes*
!wordpress/*/wp-content/themes*

এগুলির কোনওোটাই আমার themesফোল্ডারগুলি পড়েন না ।

উত্তর:


133

আমি এটি কীভাবে করেছি তা এখানে - আপনাকে মূলত পথে চলতে হবে, আপনি কোনও দিকের চেয়ে এক স্তরের বেশি ওয়াইল্ডকার্ড করতে পারবেন না:

# Ignore everything:
*

# Except for the themes directories:

!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 টি উপ-ডিরেক্টরি রয়েছে তবে আমার এখনও এটি বানান করতে হবে ll

এটি কেবলমাত্র আমার পক্ষে কাজ করেছিল। যদি কেউ কোনও উপায়ে সমস্ত উপায়ে আরও বুদ্ধিমান ব্যাখ্যা দিতে আগ্রহী।

এছাড়াও, এই উত্তরগুলি সহায়ক:
কীভাবে-নেতিবাচক-নিদর্শনগুলি-গিটিগনরে
-কী-কী-গিটিগনোর-বর্জন-বিধিমালা-বাস্তবে কাজ করে


দ্রষ্টব্য: আমি ডাবল-ওয়াইল্ডকার্ড 'গ্লোবস' ব্যবহার করার চেষ্টা করেছি তবে এই অনুসারে কার্যকারিতাটি সিস্টেম নির্ভর এবং এটি আমার ম্যাকটিতে কাজ করে না:

এটা কাজ করছে না:

!**/wp-content/themes/
!**/wp-content/themes/**

4
গিট 1.8.4 এর আগে **ওয়াইল্ডকার্ড কেবলমাত্র ওয়ার্ডকার্ডগুলি যদি আপনার প্যাটার্নে কোনও স্ল্যাশ না থাকে তবে স্পিয়ারথটচ.ওয়ার্ডপ্রেস.কম

এটি কাজ করা উচিত:!/wordpress/*/wp-content/themes/**/*
that0n3guy

1
এই সিনট্যাক্স উইন্ডোতে কাজ করে? দেখে মনে হচ্ছে না এটি আমার পক্ষে কাজ করছে ...
স্কটএফ

এটি উইন্ডোজ 10 এ বিস্ময়করভাবে কাজ করে ভিজুয়াল স্টুডিও কোড থেকে সমস্ত ধরণের কাস্টম প্রকল্পের জন্য এটি ব্যবহার করে।
ক্লিভিস

আমি এই উত্তর এবং @ 吴毅 by সরবরাহকৃত একটি সমন্বয় ব্যবহার করেছি, যা আমার পক্ষে কাজ করে।
মাইকি

95

আমি উপরোক্ত চেষ্টা করেছিলাম এবং তারা এত ভাল কাজ করে না। এখান থেকে আরও ভাল পন্থা নিম্নরূপ: https://gist.github.com/444295

# This is a template .gitignore file for git-managed WordPress projects.
#
# Fact: you don't want WordPress core files, or your server-specific
# configuration files etc., in your project's repository. You just don't.
#
# Solution: stick this file up your repository root (which it assumes is
# also the WordPress root directory) and add exceptions for any plugins,
# themes, and other directories that should be under version control.
#
# See the comments below for more info on how to add exceptions for your
# content. Or see git's documentation for more info on .gitignore files:
# http://kernel.org/pub/software/scm/git/docs/gitignore.html

# Ignore everything in the root except the "wp-content" directory.
/*
!.gitignore
!wp-content/

# Ignore everything in the "wp-content" directory, except the "plugins"
# and "themes" directories.
wp-content/*
!wp-content/plugins/
!wp-content/themes/

# Ignore everything in the "plugins" directory, except the plugins you
# specify (see the commented-out examples for hints on how to do this.)
wp-content/plugins/*
# !wp-content/plugins/my-single-file-plugin.php
# !wp-content/plugins/my-directory-plugin/

# Ignore everything in the "themes" directory, except the themes you
# specify (see the commented-out example for a hint on how to do this.)
wp-content/themes/*
# !wp-content/themes/my-theme/

1
@ দ্বোয়ানাস- এটি ভাগ করে নেওয়ার জন্য ধন্যবাদ - একটি নির্দিষ্ট ওয়ার্ডপ্রেস দিরের মূলের রিপসের জন্য দরকারী বলে মনে হচ্ছে, তবে এর নীচে একাধিক ওয়ার্ডপ্রেস সাইটগুলি
রেপোতে

এই কাঠামো / মডেল সুপার সহায়ক। আমি একটি সম্মিলিত ম্যাজেন্টো / ডাব্লুপি ইনস্টল করার জন্য একটি একক রেপো চেয়েছিলাম এবং এই প্রযুক্তিটি ব্যবহার করে .gitignore এর 30 টিরও কম লাইনের সাহায্যে আমি এটি কেবলমাত্র ম্যাজেন্টো থিম / ত্বক ফাইল এবং ডাব্লুপি থিম ফাইলগুলিতে সংকুচিত করতে সক্ষম হয়েছি। ধন্যবাদ!
এলোমেলো_ ব্যবহারকারীর_নাম

কেবল এই সেটআপটি অটো মোতায়েনের সাথে ব্যবহার করবেন না কারণ কোনও শিক্ষানবিস গিট ব্যবহারকারী ইন্ডেন্টেড জায়গাগুলির বাইরে ফাইলগুলি গণ্ডগোল করতে পারে (যেমন, যদি তারা দুর্ঘটনাবশত রেপোতে সমস্ত ফাইল মুছে ফেলেন এবং সেটি অদৃশ্য হয়ে যাবে)। তা ছাড়া এটি ভালভাবে কাজ করে।
ডিভেনাস

তুমি মানুষটি! বিশেষত যদি আপনার সংস্করণটি হয় = = 2.1.4। রেফ: জিত-scm.com/docs/gitignore/2.1.4
হাকতান সুরেন

28

প্রথম লাইনটি পরিবর্তন করুন

*

এটি পরিবর্তন করুন

/*

2
আমার জন্য এই কাজ। আমার .gitignore ফাইলটি এই / *! .Gitignore! / বিক্রেতাদের মত
umbalaconmeogia

12

এই উত্তরগুলি ব্যবহার করে দেখুন:

.Gitignore কয়েকটি ফাইল বাদে সবকিছু উপেক্ষা করুন

# Ignore everything
*

# But not these files...
!.gitignore
!script.pl
!template.latex
# etc...

# ...even if they are in subdirectories
!*/

আমি কীভাবে গিটকে একটি উপ-ডিরেক্টরি বাদ দিয়ে সবকিছু উপেক্ষা করতে বলব?

এটি রুট ফাইলগুলি এবং মূল ডিরেক্টরিগুলি উপেক্ষা করে, তারপরে রুট বিন ডিরেক্টরিটিকে উপেক্ষা করবে:

/*
/*/
!/bin/

এভাবে আপনি উপ ডিরেক্টরি এবং তাদের ফাইলগুলি সহ সমস্ত বিন ডিরেক্টরিটি পাবেন।


@ বিরক্ত - ধন্যবাদ, এগুলি দেখতে পেলেন না - তবে আমার নিজের অবস্থাতে এগুলি প্রয়োগ করতে আমার সমস্যা হচ্ছে। আমার সম্পাদনাগুলি উপরে দেখুন ...
ইয়ারিন

1
আমি যে দ্বিতীয় লিঙ্ক পোস্ট করেছি তাতে বলা হয়েছে যে আপনার !*/wp-content/themes/এবং উভয়েরই দরকার হবে !*/wp-content/themes/*। আপনি কি এই প্রকরণের চেষ্টা করেছেন? এছাড়াও, বিকল্প হিসাবে, আপনি কেবল ব্যবহার করতে পারেন !*/wp-content/themes/এবং প্রতিটি থিম ডিরেক্টরিতে নিজস্ব .gitignore ফাইল রয়েছে!*
বিরক্ত করুন

1
@ বিরক্ত - না যে প্রকরণটি কোনওভাবেই কাজ করে না, এবং যাইহোক আমি দেখতে পাচ্ছি না যে !*/wp-content/themes*
এটির

9

আপনি যদি উদ্দীপনা বিন্দু ( !) সহ কোনও প্যাটার্নটির উপসর্গ করেন তবে এটি পূর্ববর্তী কোনও প্যাটার্নটিকে এড়িয়ে যায় যা এটি বাদ দেয়। সুতরাং, সম্ভবতঃ, আপনি সমস্ত কিছু উপেক্ষা করতে পারেন, তবে কেবল এই প্যাটার্নটি ব্যবহার করে আপনি যা চান তা অনুমতি দিন।


@ দাপাউইট- ধন্যবাদ- ধারণাটি উপলব্ধি করে, এবং আমি এটি ফাইলগুলির জন্য কাজ করতে পেরেছি, তবে আমার থিম ফোল্ডারের জন্য নয়
ইয়্যারিন

আমি উল্লিখিত glob নিদর্শন বিশেষজ্ঞ নই, কিন্তু .gitignore man পৃষ্ঠা পড়া, আমি বিশ্বাস করি এই কাজ করতে পারেন: !wordpress/[write out directories]/wp-content/themes/। ক্লোজিং স্ল্যাশ এবং কোন ক্লোজিং অস্ট্রিকের দিকে লক্ষ্য করুন। এছাড়াও নোট করুন যে *একাধিক ডিরেক্টরি নয়, কেবল একটি মাত্রের সাথে মিলবে। ম্যান পেজটি এখানে: কার্নেল.আর.পি.পব
সোফটওয়্যার

অন্যান্য নিয়মের পরে আমাকে প্রত্যাখ্যান করতে হয়েছে তা বুঝতে আমাকে সহায়তা করেছে ধন্যবাদ
অক্স

6

আমাকে সাব-ডাইরেক্টরিগুলি সহ একটি ফোল্ডার নয় তবে সমস্ত কিছু উপেক্ষা করার দরকার ছিল।

আমার জন্য, এটি কাজ করে

# Ignore everything
/*

# Not these directories
!folder/

# Not these files
!.gitignore
!.env
!file.txt

5

বলুন আপনার মতো ডিরেক্টরি ডিরেক্টরি রয়েছে:

– sites
– -all
– – – -files
– – – – – -private
– – – – – – – -newspilot
– -default
– – – -files
– – – – – -private
– – – – – – – -newspilot

আপনি যখন কেবলমাত্র সাইট / সমস্ত / ফাইল / প্রাইভেট / নিউজিলিট এবং সাইটগুলি / ডিফল্ট / ফাইলগুলি / প্রাইভেট / নিউজিলিটকে অনুমতি দিতে চান , আপনি প্রথমে চেষ্টা করতে পারেন:

sites/*/files/*
!sites/*/files/private/newspilot

এটা ভুল! গিটিগনোরের সাথে জটিল জিনিসটি হ'ল আপনাকে প্রথমে পিতামাতার ("ব্যক্তিগত") ডিরেক্টরিটি অন্তর্ভুক্ত করার অনুমতি দিতে হবে, তার আগে আপনি তার শিশু ডিরেক্টরিকে ("নিউজিলিট") কমিটের অন্তর্ভুক্ত করার অনুমতি দিতে পারেন।

sites/*/files/*
!sites/*/files/private
sites/*/files/private/*
!sites/*/files/private/newspilot

http://www.christianengvall.se/gitignore-exclude-folder-but-include-a-subfolder/


"আপনাকে প্রথমে পিতামাতার ডিরেক্টরি অন্তর্ভুক্ত করার অনুমতি দিতে হবে, তার শিশু ডিরেক্টরিটিকে অনুমতি দেওয়ার আগে" - এটি নির্দেশ করার জন্য আপনাকে ধন্যবাদ! স্পষ্টতই আমার সমস্যা ছিল।
জেট ব্লু

4

ইয়ারিনের উত্তর আমার পক্ষে কাজ করেছে, এখানে আমার সংস্করণটি রয়েছে (আমার কাছে /wordpressসাব-ডিরেক্টরি দরকার নেই):

*

!.gitignore
!/wp-content/
!/wp-content/themes/
!/wp-content/themes/*
!/wp-content/themes/*/*
!/wp-content/themes/*/*/*
!/wp-content/themes/*/*/*/*
!/wp-content/themes/*/*/*/*/*

# I don't want to track this one, so it's included here, after the negated patterns. 
wp-content/themes/index.php

4

এই প্রশ্নটিতে অসংখ্যবার ফিরে আসার পরেও আমি সর্বদা এটির কোথাও আটকে যাই। আমি ধাপে ধাপে এটি করার একটি বিশদ প্রক্রিয়া নিয়ে হাজির হয়েছি:

প্রথমে কেবল git addআসল সামগ্রী যুক্ত করতে ব্যবহার করুন।

এটি সূচীতে যুক্ত হওয়া সম্পর্কিত ফাইলগুলি প্রদর্শন করবে যখন অন্য সমস্ত এখনও অবরুদ্ধ রয়েছে। এটি .gitignoreধাপে ধাপে চুক্তিতে সহায়তা করে ।

$ git add wp-content/themes/my-theme/*
$ git status

    Changes to be committed:
        new file:   wp-content/themes/my-theme/index.php
        new file:   wp-content/themes/my-theme/style.css

    Untracked files:
        wp-admin/
        wp-content/plugins/
        wp-content/themes/twentyeleven/
        wp-content/themes/twentytwelve/
        ...
        wp-includes/
        ...

DUMMY.TXTআপনার ডিরেক্টরিতে একটি অস্থায়ী ফাইল যুক্ত করুন :

$ git status

    Changes to be committed:
        new file:   wp-content/themes/my-theme/index.php
        new file:   wp-content/themes/my-theme/style.css

    Untracked files:
        wp-admin/
        wp-content/plugins/
        wp-content/themes/twentyeleven/
        wp-content/themes/twentytwelve/
        ...
        wp-content/themes/my-theme/DUMMY.TXT  <<<
        ...
        wp-includes/
        ...

আমাদের লক্ষ্য এখন নিয়মগুলি এমনভাবে তৈরি করা হয় যে এটি সম্পন্ন DUMMY.TXTহওয়ার পরে কেবল অবরুদ্ধ হিসাবে প্রদর্শিত হবে।

বিধি যুক্ত করা শুরু করুন:

.gitignore

/*

প্রথমটি হ'ল সব কিছু উপেক্ষা করা। আনট্রাক করা ফাইলগুলি সব শেষ হওয়া উচিত, কেবলমাত্র সূচিযুক্ত ফাইলগুলি প্রদর্শিত হবে:

$ git status

    Changes to be committed:
        new file:   wp-content/themes/my-theme/index.php
        new file:   wp-content/themes/my-theme/style.css

পথে প্রথম দির যুক্ত করুন wp-content

/*
!/wp-content

এখন আনট্র্যাকড ফাইলগুলি আবার প্রদর্শিত হবে তবে কেবলমাত্র wp-contentএর লিখিত সামগ্রী রয়েছে

$ git status

    Changes to be committed:
        new file:   wp-content/themes/my-theme/index.php
        new file:   wp-content/themes/my-theme/style.css

    Untracked files:
        wp-content/plugins/
        wp-content/themes/twentyeleven/
        wp-content/themes/twentytwelve/
        ..

প্রথম দির সমস্ত কিছু উপেক্ষা করুন /wp-content/*এবং উপেক্ষা করুন!/wp-content/themes

/*
!/wp-content

/wp-content/*
!/wp-content/themes

এখন আনট্র্যাকড ফাইলগুলি কেবল আরও নীচে সঙ্কুচিত হবে wp-content/themes

$ git status

    Changes to be committed:
        new file:   wp-content/themes/my-theme/index.php
        new file:   wp-content/themes/my-theme/style.css

    Untracked files:
        wp-content/themes/twentyeleven/
        wp-content/themes/twentytwelve/
        ..

প্রক্রিয়াটি পুনরাবৃত্তি করুন যতক্ষণ না সেই ডামি ফাইলটি কেবল অবরুদ্ধদের হিসাবে প্রদর্শিত হচ্ছে:

/*
!/wp-content

/wp-content/*
!/wp-content/themes

/wp-content/themes/*
!/wp-content/themes/my-theme

$ git status

    Changes to be committed:
        new file:   wp-content/themes/my-theme/index.php
        new file:   wp-content/themes/my-theme/style.css

    Untracked files:
        wp-content/themes/my-theme/DUMMY.TXT

3

যারা ক্লিনার সমাধানের সন্ধান করছেন তাদের জন্য দয়া করে নীচে চেষ্টা করুন।

মন্তব্য হিসাবে উল্লেখ করেছে এই উত্তরের , আপনাকে এই পদ্ধতিটি পুনরাবৃত্তভাবে ব্যবহার করতে হবে।

এই উদাহরণস্বরূপ, ./আপনার .gitফোল্ডার এবং .gitignoreফাইলটি যেখানে অবস্থিত সেখানে একটি ওয়েবসাইট সেটআপ এবং একটি ওয়ার্ডপ্রেস ইনস্টলেশন সেটআপ রয়েছে ./wordpress। থিম ডিরেক্টরি থেকে নিজেকে পৃথক করে ./wordpressডিরেক্টরিতে অন্তর্ভুক্ত সমস্ত কিছু সঠিকভাবে উপেক্ষা করতে ( )wordpress/wp-content/themes/my-theme

wordpress/*
wordpress/wp-content/*
wordpress/wp-content/themes/*
!wordpress/wp-content
!wordpress/wp-content/themes
!wordpress/wp-content/themes/my-theme

ওয়াইল্ডকার্ডের সাথে উপেক্ষা করার এবং (বা '' বাদে '' উপেক্ষা) করার কারণটি ডিরেক্টরি নিজেই গিটকে ভিতরে সমস্ত কিছু উপেক্ষা করার আগে ডিরেক্টরিটির ভিতরে দেখতে সক্ষম করে। তারপরে আমরা গিটকে বলি যে আমরা যে ডিরেক্টরিটি নির্দিষ্ট করেছি তার থেকে পৃথক করে সমস্ত কিছু উপেক্ষা করুন। এখানে একই বাক্য গঠন রয়েছে তবে গিট কীভাবে এটি দেখছে তার ক্রম অনুসারে:

wordpress/*                            # Ignore everything inside here
!wordpress/wp-content                  # Apart from this directory

wordpress/wp-content/*                 # Ignore everything inside here
!wordpress/wp-content/themes           # Apart from this directory

wordpress/wp-content/themes/*          # Ignore everything inside here
!wordpress/wp-content/themes/my-theme  # Apart from this directory

আশা করি এটি কাউকে পুনরাবৃত্ত পদ্ধতির প্রয়োজনীয়তা আরও ভালভাবে বুঝতে সহায়তা করে।


3

পার্টিতে দেরি হলেও এখানে আমি অজানা গভীরতার জন্য যা ব্যবহার করি তা গ্রহণযোগ্য সমাধানটির জন্য জানা গভীরতার প্রয়োজন)

/*
!.gitignore
!wp-content/
!*/

এইভাবে ডাব্লুপি-কন্টেন্টের অধীনে থাকা সমস্ত কিছু উপেক্ষা করা হবে না।


3

এই একাধিকবার প্রয়োজন থাকার পরে অবশেষে আমি একটি সমাধান খুঁজে পেয়েছি [1]:

/*/
/*.*
!.git*
!/wordpress

লাইন দ্বারা ব্যাখ্যা লাইন:

  1. মূলে সমস্ত ডিরেক্টরি উপেক্ষা করুন ।
  2. মূলে এক্সটেনশন সহ সমস্ত ফাইল উপেক্ষা করুন।
  3. .gitignoreনিজেকে (এবং সম্ভাব্য .gitattributes) অনুমতি দিন ।
  4. সমস্ত উপ- ডিরেক্টরি সহ পছন্দসই ডিরেক্টরিটিকে অনুমতি দিন

[1] সীমাবদ্ধতা (যে সম্পর্কে আমি অবগত):

  1. এটি মূলে কোনও এক্সটেনশন ছাড়াই ফাইলগুলিকে উপেক্ষা করে না (এবং যোগ করার /*ফলে পুরো স্কিমটি ভেঙে যায়)।
  2. আপনি যে ডিরেক্টরিটি লাইন 4-এ অন্তর্ভুক্ত করতে চান ( wordpressএই ক্ষেত্রে) .নাম থাকতে পারে না (যেমন wordpress.1কাজ করবে না)। যদি এটির একটি থাকে .তবে 2 লাইনটি সরান এবং মূলে সমস্ত ফাইল বাদ দেওয়ার জন্য অন্য কোনও উপায় সন্ধান করুন।
  3. উইন্ডোতে শুধুমাত্র পরীক্ষিত git version 2.17.1.windows.2

3

আর একটি সহজ সমাধান:

আপনি সমস্ত ওয়ার্ডপ্রেস ফাইল উপেক্ষা করতে চান, তবে আপনার থিমটি নয় (উদাহরণস্বরূপ)।

.gitignore , বিষয়বস্তুটি হ'ল:

# All wordpress + content of revert ignored directories
wordpress/*
wordpress/wp-content/*
wordpress/wp-content/themes/*

# Revert ignoring directories
!wordpress/
!wordpress/wp-content/
!wordpress/wp-content/themes/
!wordpress/wp-content/themes/my_theme

এই উদাহরণে, আপনি অপসারণ করতে পারেন ওয়ার্ডপ্রেস যদি .gitignore হয় রুট ওয়ার্ডপ্রেস ডিরেক্টরি

আপনি প্রতিলিপিযুক্ত ফোল্ডার / ফাইলগুলি বাদ দিয়ে "ব্যতিক্রমী" রাখতে চান এমন প্রতিটি ফোল্ডার এবং সামগ্রীর সাথে আপনি ঠিক একই কাজ করতে পারেন

উপসংহার:

আপনি যে পথে আনইনগোর করতে চান তার সমস্ত ডিরেক্টরিকে আনইনগোর করতে ভুলবেন না

কিন্তু

আপনি অবহেলা করতে চান এমন অযৌক্তিক ডিরেক্টরিগুলির সমস্ত সামগ্রী উপেক্ষা করতে ভুলবেন না


2

আপনি এটি চেষ্টা করতে পারেন:

!**/themes/*

কোথায় :

  • ! : উপেক্ষা উপেক্ষা (অন্তর্ভুক্ত)
  • **: যে কোনও ডিরেক্টরি ট্রি (পুনরাবৃত্তি) যাতে আপনাকে ফোল্ডারের পথ নির্দিষ্ট করতে হবে না
  • থিমস: অন্তর্ভুক্ত আপনার ফোল্ডার (কিছু হতে পারে)
  • *: সেই ফোল্ডারে যে কোনও ফাইল, আপনি ** এর সাথে সমস্ত সাবফোল্ডারও অন্তর্ভুক্ত করতে পারেন এবং কোনও ফাইল (*) অন্তর্ভুক্ত করার পরিবর্তে আপনি নির্দিষ্ট * .css, * .xy হতে পারেন

2

এখানে আমার সমাধান, যা একটি চেকআউট অনুমান করে wp-content

# Ignore everything except directories
*
!*/

# except everything in the child theme and its required plugin
!/themes/mytheme-child/**
!/plugins/my-plugin/**

# and this file
!.gitignore

এবং পরীক্ষা:

git version 2.20.1 (Apple Git-117)
$ git check-ignore -v .foo foo foo/ themes/foo themes/foo/bar themes/mytheme-child \
themes/mytheme-child/foo plugins/foo plugins/my-plugin plugins/my-plugin/foo .gitignore
.gitignore:2:*  .foo
.gitignore:2:*  foo
.gitignore:2:*  foo/
.gitignore:2:*  themes/foo
.gitignore:2:*  themes/foo/bar
.gitignore:2:*  themes/mytheme-child
.gitignore:6:!/themes/mytheme-child/**  themes/mytheme-child/foo
.gitignore:2:*  plugins/foo
.gitignore:2:*  plugins/my-plugin
.gitignore:7:!/plugins/my-plugin/** plugins/my-plugin/foo
.gitignore:10:!.gitignore   .gitignore

সুতরাং এটি আমার চাই না এমন সমস্ত কিছু এবং যা আমি রাখতে চাই তা সঠিকভাবে উপেক্ষা করে।

প্রকাশের কোড

গিটল্যাব সুরক্ষিত শাখার জন্য সংরক্ষণাগার আয়না দিয়ে কনফিগার করা হয়েছে, https://docs.gitlab.com/ee/workflow/repository_mirroring.html অনুসারে

কোডটি যখন কোনও সুরক্ষিত শাখায় ঠেলে দেওয়া হয়, তখন এটি বেয়ার রেপোতে স্টেজিং এবং প্রোডাকশন সার্ভারগুলিতে মিরর করা হবে /opt/checkout/repo.git/। নিম্নলিখিত post-receiveহুক (ইন /opt/checkout/repo.git/hooks/post-receive) এর পরে কোডটি ওয়ার্কিং ডিরেক্টরিতে চেকআউট করবে।

#!/bin/bash

BRANCH=staging
GIT_DIR=/opt/checkout/repo.git
GIT_WORK_TREE=/opt/bitnami/apps/wordpress/htdocs/wp-content

# on push, checkout the code to the working tree
git checkout -f "${BRANCH}"

# ensure permissions are correct
sudo chown -R bitnami:daemon "${GIT_WORK_TREE}"
sudo chmod -R go-w "${GIT_WORK_TREE}"

আরও তথ্যের জন্য https://www.digitalocean.com/commune/tutorials/how-to-set-up-automatic-depدام-with-git-with-a-vps দেখুন


1

আমি এটি কীভাবে করেছি তা এখানে:

# Ignore everything at root:
/*

# Except for directories:
!wordpress/(WordPress Site 1)/wp-content/themes/
!wordpress/(WordPress Site 1)/wp-content/themes/
!wordpress/(WordPress Site 1)/wp-content/themes/

# Except files:
!README

#Except files of type:
!*.txt

এটিই আমার পক্ষে কাজ করেছিল। নির্দিষ্ট ফাইল বা ফোল্ডার ব্যতীত আপনাকে সমস্ত কিছু উপেক্ষা করার অনুমতি দেয়

ম্যাকোস সিয়েরা


0

আমি একই নৌকোটিতে একটি রেপোর অধীনে গুচ্ছ ওয়ার্ডপ্রেস সাইট পরিচালনা করার চেষ্টা করছি। আমার ডিরেক্টরি কাঠামোটি এর মতো দেখাচ্ছে:

root (git repo)
(WordPress Site 1)/app/public/wp-content/themes
(WordPress Site 2)/app/public/wp-content/themes
(WordPress Site 3)/app/public/wp-content/themes

আমি app/publicপ্রতিটি সাইটের জন্য ফোল্ডারের ভিতরে থাকা আইটেমগুলি কেবল ট্র্যাক করতে চাই । আমি এই পৃষ্ঠায় নমুনার পাশাপাশি এখানে কিছু পরামর্শ চেষ্টা করেছি এবং এটি চেষ্টা করে শেষ করেছি:

/(WordPress Site 1)/*
!(WordPress Site 1)/app
(WordPress Site 1)/app/*
!(WordPress Site 1)/app/public

যা কাজ করেছে তবে প্রতিটি সাইটের জন্য আমাকে একই পথটিকে এড়িয়ে যেতে হবে যা আমি এড়াতে চাইছিলাম।

তারপরে আমি কেবল সাইটের নামটি প্রতিস্থাপন করেছি *এবং এটি আমার জন্য কৌশলটি করেছে। সুতরাং এটিই আমি ব্যবহার করে শেষ করেছি:

/*/*
!*/app
*/app/*
!*/app/public

এটি সমস্ত কিছু ক্যাপচার করার সময় সাইটের ফোল্ডারে থাকা কার্যকরভাবে উপেক্ষা করেছে app/publicআমি মূলটিতে তৈরি করা যে কোনও সাইটের করেছে।

মনে রাখবেন যে এটি মূলগুলিতে ফাইলগুলি উপেক্ষা করবে না, কেবল ডিরেক্টরিগুলি :)

আশাকরি এটা সাহায্য করবে.


0

এটি একমাত্র ফাইল যা বেশিরভাগ ক্ষেত্রে উপেক্ষা করা হয়, কারণ আপনার কাছে wp-config-salt.php রয়েছে যা আপনি এটি অন্যদের সাথে ভাগ করে নিতে পারেন।

/wp-config.php
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.