সুরকার দ্বারা ইনস্টল করা ম্যাজেন্টো মডিউলটিতে কীভাবে গিট-উপেক্ষা করবেন it


11

আমি মডিউল ব্যবহার করে ইনস্টল composer.phar

এটি publichtml/app/code/communityলক্ষ্য হিসাবে একটি উদাহরণ সহ symlinks ফাইল তৈরি করে vendor/themodule...

আমার মধ্যে .gitignoreআমি বিক্রেতা ডিরেক্টরিটি বাদ দিয়েছি - তবে লিঙ্কগুলি অবশ্যই গিটে শেষ হবে।

এই লিঙ্কগুলিকে স্বয়ংক্রিয়ভাবে বাদ দেওয়ার কোনও সহজ উপায় আছে কি ? (.gitignore এ ম্যানুয়ালি সবকিছু যোগ করা ব্যতীত)

আমার বলতে হবে যে আমার কিছু require-devমডিউল রয়েছে যা চূড়ান্ত সার্ভারে শেষ হওয়া উচিত নয় - সুতরাং সেখানে লিঙ্কগুলি থাকা কমপক্ষে এত সুন্দর না।


1
এটি কি মোডম্যানের ক্ষেত্রেও প্রযোজ্য?
ফিলিউঙ্কল

মোডম্যানের সাহায্যে আপনি প্রতিটি এক্সটেনশনের জন্য গিট সাবমডিউলগুলি সাধারণত ব্যবহার করেন এবং কেবল স্টোরলিঙ্কগুলিতে রিপোজিস্টরিতে যুক্ত করেন। সেখানে তাদের বাদ দেওয়ার দরকার নেই, বিপরীতে, এটি বেশিরভাগ ক্ষেত্রে মোডম্যান মোতায়েন করার দৃশ্যে বোঝা যায় না।
বিনাই

1
@ ফিলিভিঙ্কল আমি সম্প্রতি সুরক্ষার কারণে (যেমন, সহজেই পরিবর্তিত ফাইলগুলি সনাক্ত করতে পারি) পৃথক রেপোতে ম্যাজেন্টো মূলকে অনুসরণ করতে শুরু করেছি, সূচি.এফপি এবং ম্যাজ.এফপি-র পরিবর্তনগুলি ট্র্যাক করতে, এবং সহজ ম্যাগেন্টো আপগ্রেডগুলির জন্য মোডম্যানের জন্য অবশ্যই প্রাসঙ্গিক, আইএমও ।
কলিনম

উত্তর:


8

সুরকারের ইনস্টল / আপডেটের পরে আমি যে সেরাটি এনেছি তা চালানো হয়েছিল

$ find * -type l -not -exec grep -q "^{}$" .gitignore \; -print >> .gitignore

কমান্ডটি গিট রুট ডিরেক্টরিতে চালানো উচিত। এটি .gitignore ফাইলটিতে সমস্ত সিমলিঙ্ক যুক্ত করেছে যা ইতিমধ্যে সেখানে নেই।


এটি পথটির মতো উত্পন্ন করে ./foo/bar.. আমার মনে হয় আমাদের প্রথমটি সরিয়ে ফেলতে .হবে - এটি কি আপনার মতো কাজ করেছিল?
অ্যালেক্স

.হ্যাঁ, নেতৃস্থানীয় সঙ্গে আমার জন্য ভাল কাজ করে । অন্যথায় উদ্ধার করতে হবে:find . -type l -not -exec grep -q "{}" .gitignore \; -print | sed 's/^\.\///'
বিনাই

আসলে, এটি
গ্রেপ্তিকে

1
সহজ সমাধান: find * ...। আমার উত্তর আপডেট করবে।
বিনাই

3

এই পদ্ধতিটি কেবল অচিহ্নযুক্ত সিমলিংকগুলি যুক্ত করে তাই ডুপ্লিকেট এন্ট্রি, সাবমলিকগুলিতে থাকা বা অন্যথায় ইতিমধ্যে উপেক্ষা করা বা ইচ্ছাকৃতভাবে ট্র্যাকড সিমনলিঙ্কগুলি যুক্ত না করে পুনরাবৃত্তি করা যেতে পারে।

for f in $(git status --porcelain | grep '^??' | sed 's/^?? //'); do
    test -L "$f" && echo $f >> .gitignore;
    test -d "$f" && echo $f\* >> .gitignore;
done


1

@ কলিনএম এবং @ ভিনাইয়ের সম্মিলিত সমাধান যা আমার পক্ষে কাজ করে

for f in $(git status --porcelain | grep '^??' | sed 's/^?? //'); do
    if test -L "$f"
    then
        test -L "$f" && echo $f >> .gitignore;
    elif test -d "$f"
    then
        find ${f%/} -type l -not -exec grep -q "^{}$" .gitignore \; -print >> .gitignore
    fi
done

আপনি কি লক্ষ্য করেছেন যে সাম্প্রতিক সুরকার ইনস্টলাররা স্বয়ংক্রিয়ভাবে সিমলিংকগুলি বাদ দেয়?
অ্যালেক্স

অবশ্যই, তবে আমার কয়েকটি প্রকল্প সুরকার নিয়ন্ত্রণে নেই। এবং এখানে প্রদত্ত সমাধানগুলি কেবল সুরকার প্রকল্পগুলির জন্যই নয়, পুরোপুরি সিমলিংকগুলি উপেক্ষা করার জন্য। আশা করি এটি কাউকে সাহায্য করবে
মার্টিন_মেজওয়ারেক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.