লিনাক্স: জিপ সংরক্ষণাগার তৈরি করার সময় শীর্ষ স্তরের ডিরেক্টরি নির্দিষ্ট করে


17

আমার কাছে সাধারণ ডিরেক্টরি কাঠামো (এসসিআর /, বিন /, ...), অর্থাত্ প্রকল্প রয়েছে

project-name/
|-- bin
|-- lib
|-- src
`-- Makefile

এবং নিম্নলিখিত ডিরেক্টরি কাঠামো সহ একটি সংরক্ষণাগার তৈরি করতে চাই:

project-name-version/
|-- bin
|-- lib
|-- src
`-- Makefile

এটি করার কোনও ঝরঝরে উপায় আছে যা project-name/অন্য কোথাও অস্থায়ী ডিরেক্টরি তৈরি করা এড়িয়ে যায়, তারপরে অবশেষে zip -r ...সেই অস্থায়ী ডিরেক্টরিটিতে কল করার পরে ফাইলগুলি অনুলিপি করে ?

(আমি মূলত কোনও ধরণের পথের উপসর্গ বা আপেক্ষিক পাথ বিকল্পটি খুঁজছি))

উত্তর:


9

সম্ভবত এটি আপনার কাছে ইতিমধ্যে ঘটেছে তবে কেন সব কিছু অনুলিপি না করে কেবল একটি সিম লিঙ্ক ব্যবহার করবেন না?

ln -s project-name project-name-version

তারপরে zip -rসিম লিঙ্কটি ব্যবহার zipকরবেন ( ডিফল্টরূপে সিম লিঙ্কগুলি ডিপ্রেরন করবেন)? আপনার হয়ে গেলে আপনি কেবল rmসিম লিঙ্কটি করতে পারেন । সম্ভবত এটি সবচেয়ে মার্জিত সমাধান নয়, তবে zipসরাসরি এটি করার কোনও সুস্পষ্ট উপায় আমি জানি না ।


1
tarআপনি -hপতাকা ব্যবহার করলে এটির সাথেও কাজ করে ।
কাইল স্ট্র্যান্ড

(আমিও zপতাকাটি ব্যবহার করছি ; আমি নিশ্চিত নই যে এটির কোনও প্রভাব পড়ে কিনা))
কাইল স্ট্র্যান্ড

15

এটি একটি উত্তরের চেয়ে বেশি পরামর্শ: গিট ব্যবহার করুন !

আপনি যদি আপনার প্রকল্পের জন্য একটি গিট সংগ্রহস্থল সেটআপ করেন তবে পুরো জিনিসটি বেশ সোজা হয়ে যায়:

git archive HEAD --prefix=project-name-version/ \
    --format=zip -o project-name-version.zip

1
দুর্দান্ত পরামর্শ, ধন্যবাদ। : Git সংরক্ষণাগার ডকুমেন্টেশন git-scm.com/docs/git-archive
Meglio

1
সংস্করণ নিয়ন্ত্রণ ব্যবহার করা ভাল ধারণা, এই জেনেরিক ক্ষেত্রে প্রশ্নের উত্তর মেলে না।
14

@ রাইম "এটি উত্তরের চেয়ে পরামর্শের চেয়ে বেশি: গিট ব্যবহার করুন!" 4 বছরের মতো সেখানে লেখা হয়েছে, এটি নির্দেশ করার জন্য আপনাকে ধন্যবাদ ...
cirus

1
যদি এটি উত্তর হিসাবে উদ্দেশ্য না করা হয়, তবে এটি একটি মন্তব্যে রূপান্তর করা উচিত।
15:42

1
@ গ্রেগর আমি মনে করি এটি একটি আকাঙ্ক্ষিত আচরণ কারণ এই জাতীয় ফাইলগুলি আসলে প্রকল্পের অংশ, আপনি যেভাবেই গিট বৈশিষ্ট্যগুলি ব্যবহার করতে পারেন, উদাহরণস্বরূপ, .gitattributesসমন্বিত নামের একটি ফাইল তৈরি করুন .git* export-ignore
সিউরাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.