এমন একটি প্রকল্প কীভাবে ওপেন-সোর্স করবেন যার গিট রিপোজিটরির ইতিহাসে মিডিয়া কপিরাইট করেছে?


15

আমি একটি নিখরচায় লাইসেন্সের আওতায় একটি অডিও ফিঙ্গারপ্রিন্টিং সফ্টওয়্যার প্রকল্প প্রকাশ করতে চাই, তবে সংগ্রহশালায় কপিরাইটযুক্ত অডিও ফাইল রয়েছে। পরীক্ষার কেসগুলি বর্তমানে এই ফাইলগুলি ব্যবহার করে। সর্বাধিক সংস্করণ ইতিহাস সহ কপিরাইট লঙ্ঘন না করে আমি কীভাবে জনসাধারণের কাছে কোড প্রকাশ করব?

বিবরণ:

  • কোডটি গিটের অধীনে সংস্করণযুক্ত। মুক্তির আগে আমরা এগুলি আবার একটি শাখায় ভেঙে দেব।
  • অডিও ডেটা 400 এমবি আছে। কিছু ফাইল যেমন জামেন্ডো থেকে নিখরচায় লাইসেন্সযুক্ত সংগীত, অন্যগুলি আমাদের ব্যক্তিগত সংগ্রহ থেকে এমপি 3 হয়।
  • আমরা কোন পদ্ধতি গ্রহণ করি না কেন, প্রকল্পের ইতিহাসটি যাতে না ঘটে সেজন্য আমরা সর্বদা মূল রেপোর একটি অনিবার্য অনুলিপি রাখব।

মূল প্রশ্ন: জনসাধারণের মুক্তি কীভাবে পরিচালনা করবেন?

  1. গিট সংগ্রহস্থল থেকে প্রশ্নে থাকা সমস্ত ফাইলের ইতিহাস মুছে ফেলুন এবং পরিবর্তিত রেপো প্রকাশ করুন। (v64 এটি করার একটি উপায় দেখিয়েছে ))
  2. বিকল্পভাবে, কোডটির বর্তমান অবস্থার স্ন্যাপশট নিন এবং প্রাক-প্রকাশের কোডটির সর্বজনীন ইতিহাস থাকার বিষয়ে বিরক্ত করবেন না।

পার্শ্ব প্রশ্ন: কোনও প্রকল্পের প্রাথমিক পর্যায়ে কখনও কখনও ব্যক্তিগত কোড বা মিডিয়া প্রয়োজন হয় তা সত্ত্বেও আমরা কীভাবে এই দ্বিধা প্রথমত এড়াতে পারি?

উত্তর:


13

সমস্ত ইতিহাস থেকে কীভাবে কোনও ফাইলকে বিলোপ করতে হয় তার বর্ণনা দিয়ে গিটিহাবের একটি পৃষ্ঠা রয়েছে: সংবেদনশীল ডেটা সরান

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

বিপদ: প্রতিশ্রুতিবদ্ধ হয়ে যাওয়ার পরে আপনাকে ডেটা আপোস করার জন্য বিবেচনা করা উচিত। আপনি যদি একটি পাসওয়ার্ড প্রতিশ্রুতিবদ্ধ করেন তবে এটি পরিবর্তন করুন! যদি আপনি কোনও কী প্রতিশ্রুতিবদ্ধ হন তবে একটি নতুন তৈরি করুন।

আপনার সংগ্রহশালা থেকে ফাইলটি সরান

এখন যেহেতু পাসওয়ার্ডটি পরিবর্তিত হয়েছে, আপনি ফাইলটিকে ইতিহাস থেকে সরাতে এবং এটি .gitignoreদুর্ঘটনাক্রমে পুনরায় প্রতিশ্রুতিবদ্ধ না হয় তা নিশ্চিত করতে এটিতে যুক্ত করতে চান। আমাদের উদাহরণগুলির জন্য, আমরা গিটহাব রত্ন ভাণ্ডার Rakefileথেকে সরিয়ে যাচ্ছি ...


এই কাজের জন্য সঠিক সরঞ্জামের মতো দেখাচ্ছে। কোডবেসের একটি নতুন স্ন্যাপশট দিয়ে শুরু করে এটি আমার ক্ষেত্রে বনামের সর্বাধিক অর্থবোধ করে কিনা তা এখনও আমি নিশ্চিত।
আপনার মোডের সাথে 18

@ ফাইজুম: ইতিহাসটি কতটা গুরুত্বপূর্ণ বলে মনে করেন তার উপর নির্ভর করে। filter-branchকমান্ডের সাহায্যে এক্সপঞ্জিং করা বেশ সহজ --- কেবল এটি সংরক্ষণাগারটির ক্লোনটিতে চালানো নিশ্চিত করুন কারণ এটি ধ্বংসাত্মক এবং পূর্বাবস্থায় ফেরা যায় না।
শার্পি

8

পার্শ্ব প্রশ্ন: কোনও প্রকল্পের প্রাথমিক পর্যায়ে কখনও কখনও ব্যক্তিগত কোড বা মিডিয়া প্রয়োজন হয় তা সত্ত্বেও আমরা কীভাবে এই দ্বিধা প্রথমত এড়াতে পারি?

আপনি যদি বড় মিডিয়া ফাইলগুলি (400MB অডিও) ট্র্যাক করতে চলেছেন তবে এটিকে একটি পৃথক ভাণ্ডারে রাখুন।

এটি একটি পাথর দ্বারা দুটি পাখি হত্যা:

  1. প্রধান রেপো 400MB ছোট। (প্রতিবার ক্লোন করার সময় লোকদের 400 এমবি মূল্যের সামগ্রী ডাউনলোড করতে হবে না))
  2. মিডিয়াটি ব্যক্তিগত হতে পারে এবং অন্যান্য সমস্ত জিনিস থেকে পৃথক রাখা হয়। যেমন পাবলিক ভান্ডারগুলি প্রকাশের জন্য কোনও অতিরিক্ত কাজ করার দরকার নেই।

আপনি যদি চান, আপনি মিডিয়া সংগ্রহস্থলটিকে সার্বজনীন রেপো (যা আপনি মুক্তির পরিকল্পনা করছেন) এর একটি সাবমডিউল তৈরি করে কাজ করা আরও সুবিধাজনক করে তুলতে পারেন ।

এইভাবে আপনি কেবল এটিতে একটি পয়েন্টার রেখেছেন, নিজেই (সংবেদনশীল) সামগ্রী নয় (উন্নয়নের প্রাথমিক পর্যায়ে)। তারপরে আপনি প্রকাশ্যে রেপো প্রকাশ করতে চলেছেন, কেবল সাব-মডিউল রেফারেন্সটি সরিয়ে ফেলুন, যা আপনার ইতিহাসে 400MB মূল্যমানের ফিল্টার আউট লেখার চেয়ে অনেক কম ঝামেলাজনক is

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