.Gitignore এবং .gitkeep মধ্যে পার্থক্য কী?


1923

.gitignoreএবং মধ্যে পার্থক্য কি .gitkeep? তারা কি আলাদা নামের সাথে একই জিনিস, বা তারা উভয়ই আলাদা ফাংশনটি সরবরাহ করে?

আমি তেমন কোনও ডকুমেন্টেশন সন্ধান করতে সক্ষম হবে বলে মনে হচ্ছে না .gitkeep

উত্তর:


3434

.gitkeep নথিভুক্ত নয়, কারণ এটি গিটের কোনও বৈশিষ্ট্য নয়।

গিট সম্পূর্ণ খালি ডিরেক্টরি যুক্ত করতে পারে না । গিটে খালি ডিরেক্টরিগুলি ট্র্যাক করতে চান এমন ব্যক্তিরা .gitkeepএই ডিরেক্টরিগুলিতে ডাকা ফাইলগুলি স্থাপনের কনভেনশন তৈরি করেছেন । ফাইলটিকে যে কোনও কিছু বলা যেতে পারে; গিট এই নামে কোনও বিশেষ গুরুত্ব দেয় না।

.gitignoreখালি ডিরেক্টরিগুলি ট্র্যাক করার জন্য একটি ফাইল যুক্ত করার একটি প্রতিযোগিতামূলক সম্মেলন রয়েছে , তবে কিছু লোক এটিকে বিভ্রান্তিকর হিসাবে দেখেন যেহেতু লক্ষ্যটি খালি ডিরেক্টরিগুলি রাখা, এগুলি উপেক্ষা করা নয়; .gitignoreএমন ফাইলগুলি তালিকাভুক্ত করতে ব্যবহৃত হয় যা অচিহ্নযুক্ত ফাইলগুলি অনুসন্ধান করার সময় গিট দ্বারা উপেক্ষা করা উচিত।


414
READMEঅন্যথায় খালি সাব ডাইরেক্টরিতে এমন একটি ফাইল স্থাপন করা কি আরও ভাল সমাধান হবে না যে সেই সাব-ডিরেক্টরীটি কী ব্যবহার করতে চলেছে সে সম্পর্কে কিছুটা তথ্য রয়েছে? এটি এমন একটি ফাইল বলা বিভ্রান্তিকর বলে মনে হচ্ছে .gitkeepযা আসলে গিটের অংশ নয়।
টমাউস

423
@ প্রায় বহুবার, খালি ডিরেক্টরিটির পথ (যেমন ফোল্ডারগুলির নাম) এর উদ্দেশ্যটি প্রকাশ করার জন্য যথেষ্ট (উদাহরণস্বরূপ: টেম্পলেট / ক্যাশে, আপলোড / থাম্ব ইত্যাদি)। এই ক্ষেত্রেগুলির মধ্যে প্রতিটিের মধ্যে একটি রিডম লাগানো অতিরিক্ত কাজকে অনুভব করে।
হালিল üzgür

16
যে সমস্ত লোক খালি ডিরেক্টরিগুলি ট্র্যাক রাখতে চান তাদের একটি README ইঙ্গিত করা উচিত যে ডিরেক্টরিটি তৈরি করতে হবে বা তাদের বিল্ড টুলটি ব্যবহার করে ডিরেক্টরিগুলি তৈরি করতে হবে বা যে কোনও সরঞ্জাম (গুলি) ডিরেক্টরিটি উপস্থিত থাকতে হবে; /

32
@ ট্যামাউস, @ হাউস: .gitignoreদুটি লাইনযুক্ত একটি ফাইল: *এবং !.gitignoreযা চলছে তা জানাতে যথেষ্ট স্পষ্টতার চেয়ে বেশি। যদি আরও বিস্তৃততা প্রয়োজন হয়, # সিনট্যাক্স ব্যবহার করে ফাইলের শীর্ষে একটি মন্তব্য যুক্ত করুন ।
ড্রোগানস

62
এটি লক্ষণীয় যে জনপ্রিয় রেল ফ্রেমওয়ার্কগুলি এই খালি ফোল্ডারগুলি সংরক্ষণের .keepপরিবর্তে ফাইলগুলি ব্যবহার করে এই কনভেনশনটি কিছুটা পরিবর্তন করেছে .gitkeep, যেহেতু গিটই কেবলমাত্র উত্স নিয়ন্ত্রণ ব্যবস্থা নয় যা খালি ফোল্ডারগুলি ট্র্যাক করে না। আরও বিশদ এখানে: github.com/rails/rails/issues/2800
ক্লাদিও ফ্লোরানি

330

.gitkeepকেবল একটি স্থানধারক। একটি ডামি ফাইল, সুতরাং গিট ডিরেক্টরিটি ভুলে যাবে না, যেহেতু গিট কেবলমাত্র ফাইলগুলি ট্র্যাক করে।


যদি আপনি একটি খালি ডিরেক্টরি চান এবং এটি গিটের জন্য 'পরিষ্কার' থাকে তা নিশ্চিত করে, এর .gitignoreমধ্যে নিম্নলিখিত লাইনগুলি সহ একটি তৈরি করুন :

# .gitignore sample
###################

# Ignore all files in this dir...
*

# ... except for this one.
!.gitignore

যদি আপনি কেবল এক ধরণের ফাইল গিটের কাছে দৃশ্যমান হতে চান তবে এখানে .gitignore এবং সমস্ত .txtফাইল ব্যতীত সমস্ত কিছু কীভাবে ফিল্টার করা যায় তার একটি উদাহরণ এখানে রয়েছে :

# .gitignore to keep just .txt files
###################################

# Filter everything...
*

# ... except the .gitignore...
!.gitignore

# ... and all text files.
!*.txt

('#' মন্তব্যগুলি নির্দেশ করে))


3
আমি নিজেই এই অনুশীলনটি পছন্দ করি। এই ডিরেক্টরিগুলিতে যদি সোর্স কোড না থাকে তবে। গিটারকিপ এবং সাধারণভাবে এটি টেম্প / ক্যাশে / ব্যবহারকারীর সামগ্রী যা পরীক্ষার সময় যে কোনও উপায়ে তৈরি করা হত। ফাইলগুলিকেও
গিটিগনোর

1
আপনার !সামনে কেন দরকার .gitignore? বিন্দু থেকে বাঁচার জন্য এটি কি?
উইল

7
@ উইল - না, !নিম্নলিখিত অংশটিকে উপেক্ষা করে যেমন প্রোগ্রামিংয়ে সাধারণত হয়।
sjas

3
কোন লাগাতে প্রয়োজন নেই !.gitignoreবল একটি Git ফাইল উপেক্ষা করা, নয়তো ফাইল তারপর যোগ সম্পাদন করা, অথবা উপযুক্ত বিষয়বস্তু সঙ্গে এটি যোগ ( "*" কেবল নিশ্চিত ফোল্ডারের বিদ্যমান করতে সবকিছু, বা কিছুই উপেক্ষা করার) আরও উদাহরণ
AD7six

13
আপনার লিঙ্ক থেকে: Since the git ignore file is already in the repo it is not necessary to not-ignore it - it is already tracked.------ যদি এটি না হয় এবং আপনি জোরালো অ্যাড না করেন তবে আপনি এটি ভুলে যেতে পারেন। তুচ্ছ মামলায় সমস্যা নেই, তবে এটি যদি বড় ফাইল হয় তবে আপনি বিচলিত হতে পারেন। ব্যবহার !.gitignoreআপনাকে নিজের পায়ে গুলি করা থেকে বিরত রাখে। আমি এটি পছন্দ করি, অতীতে নিজেকে পুড়িয়ে ফেলেছিলাম।
sjas

125
.gitignore

আপনার ডিরেক্টরিতে থাকা ফাইলগুলির একটি তালিকা অন্তর্ভুক্ত একটি পাঠ্য ফাইল যা গিটটি উপস্থাপন করবে বা সংগ্রহস্থলে অ্যাড / আপডেট করবে না।

.gitkeep

যেহেতু গিট একটি সংগ্রহস্থলে খালি ডিরেক্টরিগুলি মুছে ফেলে বা সংযুক্ত করে না, তাই .gitkeep একটি হ্যাকের ধরণ (আমি মনে করি না এটি সরকারীভাবে গিটের একটি অংশ হিসাবে নামকরণ করা হয়েছে) খালি ডিরেক্টরিগুলি সংগ্রহস্থলটিতে রাখার জন্য।

touch /path/to/emptydirectory/.gitkeepফাইল যুক্ত করতে কেবল একটি করুন, এবং গিট এখন এই ডিরেক্টরিটি সংগ্রহস্থলটিতে বজায় রাখতে সক্ষম হবে।


18
আপনি .gitignoreপ্রতিটি ফোল্ডারে প্রতিটি বারের জন্য পুরো পাথটি নির্দিষ্ট করতে না চাইলে আপনি যতগুলি চান তা পেতে পারেন।
sjas

1
আমি .gitkeepফাইলের মধ্যে খালি ডিরেক্টরি তালিকা উল্লেখ করার চেষ্টা করি তবে এটি খালি ডিরেক্টরিগুলি ট্র্যাক করবে না, কেবল ফোল্ডার ট্র্যাক যেখানে .gitkeepফাইল বিদ্যমান। কেন তাই?
পারদীপ জৈন

2
.gitignore এর মত কাজ করে না। এটি কাছাকাছি রাখার জন্য ডিরেক্টরিগুলির তালিকা নয়। এটি কেবল একটি ফাঁকা ফাইল যা আপনার চারপাশে রাখতে চান সেই ডিরেক্টরিতে বাস করে। এটি আপনার পছন্দসই। কিপ ইত্যাদির নাম হিসাবে দেওয়া যেতে পারে তাই আপনার / foo / বারের মতো ডিরেক্টরি থাকতে পারে এবং গিটারকিপ ফাইলটি /foo/bar/.gitkeep হতে পারে
জিম মুনরো

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