.Gitignore gitignore এ যুক্ত করুন


140

নিজেই .gitignoreফাইল যুক্ত করা সম্ভব .gitignore?

.gitignore

যদিও কাজ করে না

আমি সম্পাদিত ফাইলগুলিতে এটি দেখতে চাই না


8
আপনি এটি কেন করতে চান? শুধু আপনার পরিবর্তন প্রতিশ্রুতিবদ্ধ। .gitignoreআপনার সংগ্রহস্থলের অংশ বলে মনে করা হচ্ছে, ফাইলের ধরণগুলি তালিকাবদ্ধ করুন যা প্রকল্পের জন্য আবদ্ধ।
কুর্জেডমেটাল

1
.gitignoreআপনার সংগ্রহস্থলের অংশ হওয়া উচিত, যাতে আপনার দলের প্রত্যেকে একই ফাইলগুলিকে উপেক্ষা করে বা চেক করছে। কেবল .gitignoreআপনার কোড ফোল্ডারে কোথাও থাকার অর্থ এই নয় যে আপনি এটি স্থাপন করতে হবে।
রায়ান লুন্ডি


আপনি ব্যবহার করতে পারেন git rm --cached .gitignoreএবং untracking .gitignore
hassanzadeh.sd

উত্তর:


170

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

আপনি যদি কেবল একটি সংগ্রহস্থলে ফাইলগুলি উপেক্ষা করতে চান তবে উপেক্ষা করার তালিকাটি (যেমন ব্যক্তিগত ফাইলগুলির জন্য) প্রতিশ্রুতিবদ্ধ হওয়া এড়াতে চান তবে আপনি সেগুলিকে .git/info/excludeসেই সংগ্রহস্থলে যুক্ত করতে পারেন ।

আপনি যদি আপনার মেশিনের প্রতিটি সংগ্রহস্থলের নির্দিষ্ট কিছু ফাইল উপেক্ষা করতে চান তবে আপনি ফাইলটি তৈরি করতে পারেন ~/.gitignore_globalএবং তারপরে চালনা করতে পারেন

git config --global core.excludesfile ~/.gitignore_global

36

একটি .gitignore যদি এটিকে কখনও চেক ইন না করা হয় তবে নিজেকে এড়িয়ে যেতে পারে:

mhaase@ubuntu:~$ git --version
git version 1.7.9.5
mhaase@ubuntu:~$ git init temp
Initialized empty Git repository in /home/mhaase/temp/.git/
mhaase@ubuntu:~$ cd temp
mhaase@ubuntu:~/temp$ touch .gitignore foo bar baz bat
mhaase@ubuntu:~/temp$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       .gitignore
#       bar
#       bat
#       baz
#       foo
mhaase@ubuntu:~/temp$ echo "foo" >> .gitignore
mhaase@ubuntu:~/temp$ echo ".gitignore" >> .gitignore
mhaase@ubuntu:~/temp$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       bar
#       bat
#       baz
nothing added to commit but untracked files present (use "git add" to track)

আপনি যদি .gitignore চেক করেন (যদি আপনি এটি নিজেকে এড়িয়ে যাওয়ার আগে বলছেন), তবে এটি পরে সর্বদা গিট স্ট্যাটাসে প্রদর্শিত হবে, এমনকি যদি আপনি পরে এটিকে উপেক্ষা করার জন্য এটি পরিবর্তন করেন তবে।


1
হুবহু, এটা আমার ক্ষেত্রে। আমি একটি স্থানীয় চাই .gitignoreসঙ্গে কাজ করার জন্য git-svn, যা কেউ দেখতে পাবেন। সুতরাং আমি এটি কেবল নিজের সাথে যুক্ত করেছি এবং এটি ঠিক কাজ করেছে। তবে আমি দেখতে পেলাম যে কোনও উত্সাহী মানুষ অন্যকে কীভাবে এটি "খারাপ" বলে ব্যাখ্যা করবে কিনা। এই উত্তরটি গ্রহণ করা উচিত, এবং তারপরে আমি .git/info/excludeপরামর্শগুলিকেও সমর্থন করব। সুতরাং এটি কেবল অনতিযুক্ত করা দরকার ... খুব অবাক হওয়ার কিছু নেই, অন্তত যদি আপনি কখনও "বিপর্যস্ত" হয়ে থাকেন (এসএনএন)।
টমাসজ গ্যান্ডার

আমার কাছে .gitignoreফাইলটি প্রথমে ব্যাকআপ হয়ে গেছে। তারপরে আমি git rm .gitignoreসেই পরিবর্তনটি ব্যবহার করি এবং প্রতিশ্রুতিবদ্ধ। শেষ অবধি, এর জন্য .gitignoreনিয়ম করে আবার ফাইল যুক্ত করুন এবং প্রতিশ্রুতিবদ্ধ করুন .gitignore। এটি কাজ করে!
কিজাং

4
এটি ঠিক করতে আপনি চালাতে পারেন git rm --cached .gitignore
গিদিওন

19

এটি করার কোনও ভাল কারণ নেই। আপনি ফাইল চান উপেক্ষিত আপনার জন্য ক্লোন শুধুমাত্র , তাদের যুক্ত .git/info/exclude, নেই .gitignoreফাইল।


আমি "নিম্নলিখিত ফাইলে বিদ্যমান পরিবর্তনের কারণে অপারেশনটি সম্পন্ন করতে পারছি না" এবং এটি যে ফাইলটি বাদ দিলে তা এটি তালিকাভুক্ত করে। কোন ধারণা কেন?
পল ম্যাকার্থি

3

আপনি .gitignoreআপনার গিটিগনোর ফাইলটিতে প্রবেশ করার পরে , নিম্নলিখিতটি চেষ্টা করুন,

git rm -r --cached .
git add --all
git commit -m "ignoring gitignore"
git push --set-upstream origin master

এটি কাজ করা উচিত যদিও ইতিমধ্যে বলেছে, গিটিগনোরকে উপেক্ষা করা প্রতি-উত্পাদনশীল হতে পারে যদি আপনার রেপো একাধিক ব্যবহারকারীর দ্বারা ভাগ করা হয়।


2

হ্যা, তুমি পারো; আপনি এটি সম্পাদিত ফাইলগুলিতে এখনও দেখতে পান কারণ এটি এখনও গিট দ্বারা ট্র্যাক করা আছে এবং গিটের সাহায্যে ট্র্যাক করা ফাইলগুলি .gitignore এ থাকলেও সর্বদা পরিবর্তিত হিসাবে চিহ্নিত থাকে। সুতরাং কেবল এটি আনট্রাক করুন।

তবে আপনি যে পরিবর্তনগুলি করছেন তাতে প্রতিশ্রুতিবদ্ধ বা পুনরায় সেট করছেন না কেন? এটিকে স্ট্যাটাস থেকে সরিয়ে ফেলার একটি আরও ভাল উপায় ... এছাড়াও সচেতন থাকুন যে আপনার কোনও নতুন ক্লোন এটির যোগ .gitignoreকরতে হবে যা বিরক্তিকর হতে পারে।


হ্যাঁ, এবং আপনাকে got rm --cached .gitignoreসম্ভবত এটি গিট থেকে আলাদা করে সরিয়ে ফেলতে হবে probably
টেডেক

গিট আরএম - ক্যাচড। gitignore গিট থেকে সরছে। এটি ধ্বংসাত্মক এবং কাম্য নয়। কীভাবে কীভাবে স্থানীয় ক্লোনটির জন্য .gitignore উপেক্ষা করা যায়?
জাভাদ্ব্বা

0

আপনার .gitignore ফাইলটিতে এটি লিখে আপনি এটি অর্জন করতে পারেন। এটি *তালিকা উপেক্ষা করার জন্য সমস্ত কিছু যুক্ত করবে এবং তারপরে !.gitignore.gitignore ফাইলটিকে উপেক্ষা তালিকা থেকে সরিয়ে ফেলবে।

*
!.gitignore

3
এটি ওপি যা চায় তার বিপরীত অর্জন করে
দিমিত্রি পার্জিটস্কি

হ্যাঁ, ঠিক আছে, আমি ইতিমধ্যে একই উল্লেখ করেছি। *সবকিছু উপেক্ষা করবে। .gitignoreফাইল সহ ।
অঙ্কিত সিং

1
আমি বলতে চাচ্ছি, অপ করার চেষ্টা করছে অপসারণ.gitignore কোডবেস থেকে ফাইল (নিজেই এটি যোগ, যা সত্যিই অর্থে দেখা যায় না, কিন্তু আমি কার বিচারক থাকি)। এখানে আমি একটি পরামর্শ দেখতে পাচ্ছি যা নিশ্চিত করে যে ফাইলটি কখনই উপেক্ষা করা হবে না, যার অর্থ হল এটি
কোডবেজে

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