গিটিগনোর কাজ করছেন না


274

আমার .gitignoreফাইলটি কোনও কারণে কাজ করছে না, এবং গুগলিংয়ের কোনও পরিমাণই এটি ঠিক করতে সক্ষম হয়নি। আমার যা আছে তা এখানে:

*.apk
*.ap_
*.dex
*.class
**/bin/
**/gen/
.gradle/
build/
local.properties
**/proguard/
*.log

এটি ডিরেক্টরিতে রয়েছে master, এটি আমার গিট রেপো। আমি গিট ১.৮.৪.২ চালাচ্ছি কারণ আমি ওএসএক্স ১০.০. running চালিত ম্যাকবুক এ আছি।


4
1. কোন ফাইলগুলি ইনডেক্স করা হয় যদিও তাদের না করা উচিত? ২. আপনি রেপোতে এই ফাইলগুলি যুক্ত করার পরে আপনি .gitignore যুক্ত করেছিলেন?
আহমদ

2
@ আহমাদ একাধিক প্রকল্পে /bin/ফোল্ডারটি এখনও দেখায় যখন আমি একটি করি git status। আমি .gitignore
ইউজার 3280133

1
"যেহেতু আমি .gitignore যুক্ত করেছি" - সুতরাং আপনি ফাইলগুলি যুক্ত করার পরে .gitignore যুক্ত করেছেন?
আহমদ


উত্তর:


683

আপনার সংস্করণ নিয়ন্ত্রণ ফাইল / ফোল্ডারের শুধু নিজেদের মুছে যাবে না শুধু কারণ আপনি তাদের যোগ করা .gitignore। তারা ইতিমধ্যে ভান্ডারে রয়েছে এবং আপনাকে সেগুলি সরাতে হবে। আপনি এটি দিয়ে এটি করতে পারেন:

(এটি করার আগে আপনি যে সমস্ত পরিবর্তন করেছেন সেগুলি প্রতিশ্রুতিবদ্ধ মনে রাখবেন ))

git rm -rf --cached .
git add .

এটি সংগ্রহস্থল থেকে সমস্ত ফাইল সরিয়ে দেয় এবং এগুলিকে আবার যুক্ত করে (এবার আপনার বিধিগুলিকে সম্মান করে .gitignore)।


2
অথবা আপনি গিট চেকআউট ফোল্ডার_টো_গাইনোর / * ব্যবহার করে .gitignore এ যুক্ত ফাইল / ফোল্ডারগুলি ফিরিয়ে দেওয়ার চেষ্টা করতে পারেন
জহরা

1
@ গ্রিনিশ তবে এটি কাজ করবে না যদি তারা ইতিমধ্যে প্রতিশ্রুতিবদ্ধ থাকে তবে কেবল মঞ্চস্থ হলেই তা কাজ করবে, যদি ফোল্ডারটি ইতিমধ্যে .gitignore এ থাকে তবে (যদি আপনি জোর না যোগ করেন) :) হওয়া উচিত নয়
আহমাদ

1
আমি যখন পরিবর্তনগুলি গিথুবগুলিতে চাপ দিই তখন আমার পক্ষে কাজ করে না। বলে সব কিছু আপ টু ডেট !!!!
ডক্টর ইউনস হেনি

1
দুঃখিত আহমেদ আমি গিটিগনোর ফাইলটি মুছে ফেলা এবং আবার টানা এবং রিমোট রেপোতে চাপ দিয়ে আমার সমস্যাটি সমাধান করেছি। আমি যখন গিট স্ট্যাটাস টাইপ করি তখন এটি কী বলেছিল তা আর মনে নেই। আমার সমস্যা স্থির। অনেক ধন্যবাদ.
ডাঃ ইউনস হেনি

3
আমি মনে করি এটি আরও সহজ গিট এটি সহজ করার জন্য একটি 'গিট উপেক্ষা' কমান্ড যুক্ত করে। সুতরাং আমরা কেবল git ignore path/fileযে কোনও সময় ব্যবহার করতে পারি ।
Tiw

123

ইতিমধ্যে আপনার সংগ্রহস্থলটিতে যুক্ত করা / আরম্ভ করা একটি একক ফাইল আনট্র্যাক করার জন্য, ফাইলটিকে ট্র্যাক করা বন্ধ করুন তবে এটি আপনার সিস্টেমের ব্যবহার থেকে মুছবেন না: git rm --cached filename

আপনার যে প্রতিটি ফাইল এখন রয়েছে তা আন-ল্যাক করতে .gitignore:

প্রথমে কোনও অসামান্য কোড পরিবর্তন করুন এবং তারপরে এই কমান্ডটি চালান:

git rm -r --cached .

এটি সূচী (স্টেজিং এরিয়া) থেকে যে কোনও পরিবর্তিত ফাইল সরিয়ে দেয়, তারপরে কেবল চালান:

git add .

এটি প্রতিশ্রুতিবদ্ধ:

git commit -m ".gitignore is now working"

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

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

15

কিছুটা খরগোশের গর্তের নীচে যাওয়ার পরে এই প্রশ্নের উত্তরগুলি অনুসরণ করার চেষ্টা করছে (সম্ভবত কারণ আমাকে ভিজ্যুয়াল স্টুডিও প্রকল্পে এটি করতে হয়েছিল), আমি খুঁজে পেলাম যে সহজ পথটি ছিল

  1. ফাইলটি গুলি কেটে পেস্ট করুন আমি আর কোনও অস্থায়ী স্থানে ট্র্যাক করতে চাই না

  2. এই ফাইলগুলির "মুছে ফেলার" প্রতিশ্রুতিবদ্ধ

  3. .gitignoreআমি অস্থায়ীভাবে সরানো ফাইলগুলি বাদ দিতে একটি পরিবর্তন প্রতিশ্রুতিবদ্ধ

  4. ফোল্ডারে ফাইলগুলি আবার সরান।

আমি এটিকে ঘুরে দেখার সবচেয়ে সহজ সরল পথ বলে খুঁজে পেয়েছি (কমপক্ষে একটি ভিজ্যুয়াল স্টুডিওতে, বা আমি অন্যান্য আইডিইর মতো অন্যান্য স্ট্রডিওর মতো পরিবেশ অনুমান করব), ঘটনাক্রমে নিজেকে সুন্দরভাবে ছড়িয়ে দিয়ে পায়ে গুলি চালিয়ে নিই git rm -rf --cached ., যার পরে আমি যে ভিজ্যুয়াল স্টুডিও প্রকল্পটিতে কাজ করছিলাম তা লোড হয়নি।


2
আমি এই পদ্ধতির বেশ পছন্দ করি - এটি "যথাযথ" হিসাবে বিবেচিত না হলেও কম ধ্বংসাত্মক বলে মনে হয়।
তারাতিমান

6

আমার ক্ষেত্রে এটি ফাইলের শুরুতে একটি ফাঁকা জায়গা ছিল যা আমি নোটপ্যাডে ফাইলটি খোলার সময় স্পষ্টভাবে প্রদর্শিত হয়েছিল, ভিজ্যুয়াল স্টুডিও কোডে এটি সুস্পষ্ট ছিল না।


4

আমি .gitignoreআমার জন্য সাধারণ উত্স তৈরি করতে কিছু ব্যবহার করেছি এবং আমি এতে প্রবেশ করি। @ ওজেশ উত্তরটি পড়ার পরে আমি ভিএস কোডে খুললাম কারণ এটিতে ডানদিকে লাইন শেষের প্রকারটি প্রদর্শন করে একটি দুর্দান্ত সূচক রয়েছে। এটি এলএফ ছিল তাই আমি প্রস্তাবিত হিসাবে সিআরএলএফ এ রূপান্তর করেছি তবে কোনও ডাইস নেই।

তারপরে আমি লাইনের শেষের পাশে তাকিয়ে দেখলাম এটি ইউটিএফ 16 ব্যবহার করে সংরক্ষণ করা হয়েছে। সুতরাং আমি ইউটিএফ 8 টি ভয়েলা এনকোডিং ব্যবহার করে পুনর্বহাল করেছি, এটি কার্যকর হয়েছে। আমি মনে করি না যে সিআরএলএফ ম্যাটার হয়েছে তাই এটি নিশ্চিত হওয়ার জন্য আমি এটিকে আবার এলএফতে পরিবর্তন করেছিলাম এবং এটি এখনও কাজ করে।

অবশ্যই এটি ওপিএসের সমস্যা ছিল না কারণ তিনি ইতিমধ্যে ফাইলগুলি প্রতিশ্রুতিবদ্ধ করেছিলেন যাতে তারা ইতিমধ্যে সূচকযুক্ত হয়ে থাকে তবে ভেবেছিলাম যে অন্য কেউ যদি এই বিষয়টিতে হোঁচট খায় তবে আমি ভাগ করে নেব।

টিএলডিআর ; আপনি যদি ইতিমধ্যে ফাইলগুলি প্রতিশ্রুতিবদ্ধ না হন এবং .gitignore এখনও সম্মানিত না হন তবে ফাইল এনকোডিং পরীক্ষা করে দেখুন এবং এটির ইউটিএফ 8 নিশ্চিত করুন এবং যদি এটি কার্যকর না হয় তবে সম্ভবত লাইন শেষের সাথে জবাবদিহি করার চেষ্টা করুন try


1
ইউটিএফ 16 আমার পক্ষে অপরাধী ছিল। খোলা ভিএস কোড> খোলা .gitignore> কমান্ড প্রম্পটটি> "ফাইল এনকোডিং পরিবর্তন করুন"> "ইউটিএফ -8"> ফাইল সংরক্ষণ করুন
মাইকেল

3

আমার ক্ষেত্রে .gitignore এর লাইনের শেষে সাদা স্থানগুলির কারণ ছিল। সুতরাং .gitignore এ সাদা স্থানের জন্য নজর রাখুন!


1

আমি নিম্নলিখিতগুলি করে আমার সমস্যার সমাধান করেছি:

প্রথমত, আমি উইন্ডোজ ব্যবহারকারী, তবে আমি একই সমস্যার মুখোমুখি হয়েছি। সুতরাং, আমি এখানে আমার সমাধান পোস্ট করছি।

একটি সহজ কারণ আছে যেহেতু মাঝে মাঝে .gitignore এর মতো কাজ করা হয় না। এটি EOL রূপান্তর আচরণের কারণে।

এখানে এটির জন্য একটি দ্রুত ফিক্স

সম্পাদনা করুন> EOL রূপান্তর> উইন্ডোজ ফর্ম্যাট> সংরক্ষণ করুন

আপনি আপনার পাঠ্য সম্পাদক সেটিংস দোষ দিতে পারেন

উদাহরণ স্বরূপ:

আমি যেমন উইন্ডোজ বিকাশকারী, আমি সাধারণত নোটপ্যাড ++ ব্যবহার করি ভিএম ব্যবহারকারীদের থেকে ভিন্ন আমার পাঠ্য সম্পাদনা করার জন্য ব্যবহার করি।

তাই যা হয় তা হ'ল আমি যখন নোটপ্যাড ++ ব্যবহার করে আমার .gitignore ফাইলটি খুলি, তখন এটি দেখতে এমন কিছু দেখাচ্ছে:

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore


# See https://help.github.com/ignore-files/ for more about ignoring files.

# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
*.dll
*.force
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

আমি যদি ডিফল্ট নোটপ্যাড ব্যবহার করে একই ফাইলটি খুলি তবে আমি যা পাই তা হ'ল

## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. ## ## Get latest from  https://github.com/github/gitignore/blob/master/VisualStudio.gitignore # See https://help.github.com/ignore-files/ for more about ignoring files. # User-specific files *.suo *.user *.userosscache 

সুতরাং, আপনি ইতিমধ্যে আউটপুট দেখে অনুমান করতে পারেন। .Gitignore এর সমস্ত কিছুই একটি লাইনারে পরিণত হয়েছে, এবং যেহেতু শুরুতে একটি ## আছে, এটি এমনভাবে আচরণ করে যা সবকিছুতে মন্তব্য করা হয়েছে।

এটির সমাধানের উপায়টি সহজ: কেবলমাত্র আপনার .gitignore ফাইলটি নোটপ্যাড ++ দিয়ে খুলুন, তারপরে নিম্নলিখিতটি করুন

সম্পাদনা করুন> EOL রূপান্তর> উইন্ডোজ ফর্ম্যাট> সংরক্ষণ করুন

পরের বার আপনি যখন উইন্ডোজ ডিফল্ট নোটপ্যাড দিয়ে একই ফাইলটি খুলবেন তখন সবকিছু সঠিকভাবে ফর্ম্যাট করা উচিত। এটি চেষ্টা করে দেখুন এবং দেখুন এটি আপনার পক্ষে কাজ করে কিনা।


1

এছাড়াও, মন্তব্যগুলি তাদের নিজস্ব লাইনে থাকতে হবে। এন্ট্রি করার পরে সেগুলি রাখা যাবে না। সুতরাং এটি কাজ করবে না:

/node_modules  # DON'T COMMENT HERE (since nullifies entire line)

তবে এটি কাজ করবে:

# fine to comment here
/node_modules

0

কি git reset --hardযে কেউ জন্য কাজ করে? আমি বলছি না এটি একটি ভাল সমাধান, এটি প্রথমবার চেষ্টা করার পরে দেখে মনে হচ্ছে।


উপরে আমার মন্তব্য উপেক্ষা করুন। কর্মস্থলে কেউ গিটে এত ভুল কিছু করেছে, এটি সদৃশ ফোল্ডারগুলির কারণ হয়ে গেছে এবং আমি বেশ কিছুক্ষণ সচেতন ছিলাম না। ধন্যবাদ।
ব্যবহারকারী 1889992

0

আমি আমার ডকারিগনোর সম্পাদনা করার দুর্দান্ত ভুলটি করেছি, ডান উপেক্ষা করা ফাইলটি খুঁজে পাওয়ার পরে দুর্দান্ত কাজ করেছি: পি


0

আমার বিটটিকে এটি হিসাবে যুক্ত করা একটি জনপ্রিয় প্রশ্ন।

আমি .history ডিরেক্টরি ভিতরে রাখতে পারেনি। Gitignore কারণ আমি যত কম্বো চেষ্টা করেছি তা কার্যকর হয়নি। উইন্ডোজ প্রতিটি সেভ করে নতুন ফাইল তৈরি করে রাখে এবং আমি এগুলি দেখতে মোটেই চাই না।

এখানে চিত্র বর্ণনা লিখুন

তবে আমি বুঝতে পারি, এটি কেবলমাত্র আমার মেশিনে আমার ব্যক্তিগত বিকাশের পরিবেশ। .History বা .vscode এর মতো জিনিসগুলি আমার জন্য নির্দিষ্ট তাই এটি বিস্মৃত হবে যদি প্রত্যেকে নিজের আইডিই বা ওএস ব্যবহার করছে তার উপর ভিত্তি করে তাদের নিজস্ব .gitignore এন্ট্রি অন্তর্ভুক্ত করে।

সুতরাং এটি আমার পক্ষে কাজ করেছে, কেবল ".history" এ .git / তথ্য / বাদ দিন

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