.gitignore গিট দ্বারা উপেক্ষা করা হয়


1508

আমার .gitignoreফাইলটি গিট দ্বারা উপেক্ষা করা হবে বলে মনে হচ্ছে - .gitignoreফাইলটি কি দুর্নীতিগ্রস্থ হতে পারে? গিট কোন ফাইলের ফর্ম্যাট, স্থানীয় বা সংস্কৃতি আশা করে?

আমার .gitignore:

# This is a comment
debug.log
nbproject/

থেকে আউটপুট git status:

# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       debug.log
#       nbproject/
nothing added to commit but untracked files present (use "git add" to track)

আমি চাই debug.logএবং nbproject/untracked ফাইল তালিকায় প্রদর্শিত না।

আমি এটি ঠিক করতে কোথায় শুরু করব?


56
নিশ্চিত করুন যে আপনার করুন .gitignoreফাইল ব্যবহার ANSIবা UTF-8এনকোডিং। যদি এটি অন্যরকম কিছু ব্যবহার করে Unicode BOMতবে সম্ভবত গিট ফাইলটি পড়তে পারে না।
এডিটিসি

8
@ এডটিসি আমার মেশিনে এটিই সমস্যা ছিল (উইন্ডোজ)। আমি echo "file" > .gitignoreপাওয়ারশেলে ব্যবহার করেছি , ফাইলটির একটি ইউসিএস -২ এনকোডিং ছিল!
মারিওডিডিএস

7
git rm --cached debug.log nbproject/
গায়ান ওয়েরাকুট্টি

4
এখানে প্রথম মন্তব্যটি কেন উত্তর নয় তা আমার বাইরে নয়
রেডরভ

2
@ ম্যাটপার্কিনস আমি এখন এটি দেখতে পাচ্ছি, এটি এখনও আমাকে অবাক করে দেয় যে এতো সরল এবং মূল উত্তরটি একটি মন্তব্য হিসাবে দাফন করা হয়েছে বা প্রকৃত স্বীকৃত উত্তরটি এখানে রয়েছে। ধন্যবাদ!
রেডরোভ

উত্তর:


3114

এমনকি আপনি এখনও পর্যন্ত ফাইলগুলি ট্র্যাক না করে থাকলেও, গিটগুলি এগুলি যুক্ত করার পরেও সেগুলি সম্পর্কে "জানতে" সক্ষম হতে পারে বলে মনে হয় .gitignore

সতর্কতা: প্রথমে আপনার বর্তমান পরিবর্তনগুলি সংঘটিত করুন, বা আপনি এগুলি হারাবেন।

তারপরে আপনার গিট সংগ্রহস্থলের শীর্ষ ফোল্ডার থেকে নিম্নলিখিত কমান্ডগুলি চালনা করুন:

git rm -r --cached .
git add .
git commit -m "fixed untracked files"

8
আমি "ব্যবহার: গিট আরএম [বিকল্পসমূহ] [-] <ফাইল" ... "মুদ্রিত হয়েছি যখন আমি" গিট আরএম-র - কেচড "চেষ্টা করেছি। যদি এটি গুরুত্বপূর্ণ হয় তবে আমি উইন্ডোজটির জন্য গিটহাবে "সরঞ্জাম-> একটি শেল এখানে খুলুন" ক্লিক করার পরে পাওয়ারশেলের মধ্যে থেকে গিট ব্যবহার করছি।
শীঘ্রই

61
উইন্ডোজে: গিট আরএম -r - ক্যাচড এবং গিট অ্যাড
বিচহাউস

90
থেকে সচেতন হতে হবে কমিট করার আগে আপনার সকল পরিবর্তন, অন্যথায় তোমাদের সকলের পরিবর্তিত ফাইল নিয়ন্ত্রণ হারাবে !!
কসমিন

45
প্রথম 3 জন মন্তব্যকারী শেষ পর্যন্ত বিন্দুটি মিস করেছেন বলে মনে হচ্ছে। এর অর্থ প্রতিটি ফাইল। "git -rm -r --cated।" <- বিন্দু লক্ষ্য করুন।
ক্রিস্টোফ ডি ট্রয়ের 15

18
যদি আপনি প্রতিশ্রুতিবদ্ধ না করতে চান তবে একটি পরিবর্তন হ'ল আপনার পরিবর্তনগুলি শেল্ফের উপরে রাখার জন্য: "গিট স্ট্যাশ"। উপরের কমান্ডগুলি চালান। এবং "গিট স্ট্যাশ পপ" চালান
ইভান ভোরোশিলিন

335

যদি মনে হয় গিট আপনার .gitignoreফাইলটিতে করা পরিবর্তনগুলি লক্ষ্য করছে না , আপনি নিম্নলিখিত পয়েন্টগুলি পরীক্ষা করতে চাইতে পারেন:

  • এমন কোনও বিশ্বব্যাপী .gitignoreফাইল থাকতে পারে যা আপনার স্থানীয় ক্ষেত্রে হস্তক্ষেপ করতে পারে
  • আপনি যখন .gitignore ফাইলে কিছু যুক্ত করেন, এটি ব্যবহার করে দেখুন:

    git add [uncommitted changes you want to keep] && git commit
    git rm -r --cached .
    git add .
    git commit -m "fixed untracked files"
    
  • আপনি যদি .gitignore ফাইল থেকে কিছু সরিয়ে থাকেন এবং উপরের পদক্ষেপগুলি সম্ভবত কাজ করে না, আপনি যদি দেখেন যে উপরের পদক্ষেপগুলি কাজ করছে না, তবে চেষ্টা করুন :

    git add -f [files you want to track again]
    git commit -m "Refresh removing files from .gitignore file."
    
    // For example, if you want the .java type file to be tracked again,
    // The command should be:
    //     git add -f *.java
    

3
সম্ভবত আপনি আপনার পদক্ষেপ 3 যোগ করার জন্য @ অ্যালিন হুরুবার উত্তরটি সম্পাদনা করতে পারেন?
বেঞ্জ

@ বেঞ্জ আপনার পরামর্শের জন্য আপনাকে ধন্যবাদ, আমি আলিনহুরুবার উত্তর খুঁজে পাইনি, পার্থক্য কী তা আমি জানি না, তাই দয়া করে আমাকে সরাসরি বলুন।
ifeegoo

2
৩ য় ধাপটি আমার যা প্রয়োজন ছিল তা। উত্তরগুলির বেশিরভাগই কেবল ফাইলটি কীভাবে মুছে ফেলা যায় তা কীভাবে সরিয়ে ফেলতে চান তা জানান। বিপরীত দৃষ্টিভঙ্গির জন্য ধন্যবাদ।
ইয়েং

আশা করি এটি আপনাকে সাহায্য করবে!
ifeegoo

7
git rm -r --cached .আমার জন্য কাজ করেছেন
জেসন

197

সংশোধন করা হয়েছে। ঠিক আছে, আমি উইন্ডোজ নোটপ্যাডে .gitignore ফাইল তৈরি করেছি এবং এটি কাজ করছে না। আমি যখন লিনাক্সের .gitignore ফাইলটি দেখেছিলাম এটি দেখতে সংগঠিত গীবের মত লাগছিল - সম্ভবত নোটপ্যাড এএসসিআইআই বা 8-বিট যা কিছু নয় তার চেয়ে ইউনিকোড লিখেছিল।

সুতরাং আমি ফাইলটি আমার লিনাক্স বাক্সে আবার লিখলাম, এবং আমি যখন এটি আবার উইন্ডোতে টানলাম তখন এটি ঠিক কাজ করে! Hurray থেকে!


77
নোটপ্যাডে সহজেই "এএনএসআই" এনকোডিংটি "সংরক্ষণ করুন সংরক্ষণ করুন" কথোপকথনে চয়ন করুন। বা আরও ভাল, একটি উপযুক্ত পাঠ্য সম্পাদক পান - সর্বোপরি আপনি একজন প্রোগ্রামার :) :) আমি "প্রোগ্রামার নোটপ্যাড" সুপারিশ করতে পারি, অন্যরা নোটপ্যাড ++ পছন্দ করে এবং সেখানে আক্ষরিক আরও কয়েকশো রয়েছে।
0xC0000022L

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

8
আমার সমস্যাটি একই ছিল - আমার .gitignore একটি বিওএম দিয়ে ইউটিএফ 8 ব্যবহার করছিল । এটি কোনও বিওএম ছাড়াই কেবল ইউটিএফ 8 হিসাবে সংরক্ষণ করেছে এবং এটি যাদুকরীভাবে কাজ শুরু করেছে।
ফিল

13
এটি আমার সমস্যাও ছিল। আমি "ইকো ডায়ারনাম> .গিটিগনোর" দিয়ে .gitignore ফাইলটি তৈরি করেছিলাম কারণ উইন্ডোজ "" দিয়ে শুরু হওয়া ফাইলগুলি তৈরি করতে এমন ব্যথা করে। এইভাবে তৈরি করা ফাইলটির এনকোডিং গিট দ্বারা অপঠনযোগ্য ছিল এবং এটি এর পরিবর্তে এটি বাইনারি ফাইল হিসাবে ব্যাখ্যা করেছে। নোটপ্যাড ++ এ "এনকোডিং -> ইউটিএফ -8" ক্লিক করুন, সংরক্ষণ করুন, সম্পন্ন হয়েছে।
লরা

4
পাওয়ারশেলের @ লরা হিসাবে একই সমস্যা ছিল - ফাইলটি ডিফল্টরূপে ইউটিএফ 16 হিসাবে সংরক্ষণ করা হয়।
mrówa

113

আপনার প্রকল্পে অন্য প্রতিশ্রুতি যুক্ত না করে, এক লাইন .gitignoreকাজ করার জন্য যথেষ্ট হবে বলে মনে করা হচ্ছে:

git rm -r --cached debug.log nbproject

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


1
আমি যেমন চেয়েছিলাম ঠিক তেমন কাজ করেছিল - আমার কাছে কেবল 1 টি ফাইল ছিল যা সঠিকভাবে ট্র্যাক করা যায় নি। আমি নোটপ্যাডে এর বিষয়বস্তুগুলি সংরক্ষণ করেছি এবং করেছি: git rm -r --cached someFile.phpএবং এটি একটি
কবজির

@ এফএমএফএফ এটি এটিকে সংগ্রহস্থল থেকে সরিয়ে ফেলবে তবে এগুলি শারীরিকভাবে রাখবে, সরল ইংরেজিতে, এটি তাদের সাথে সম্পর্কিত যে কোনও ইতিহাসের ইতিহাস মুছে ফেলবে এবং ভবিষ্যতের কোনও প্রতিশ্রুতিতেও তাদের পরিবর্তনকে ট্র্যাক করবে না। : একটি ভাল ব্যাখ্যা আপনি এখানে পাওয়া যেতে পারে stackoverflow.com/questions/37279654/...
এইচ Aßdøμ

আমি একটি "মারাত্মক: প্যাথস্পেক 'ডিবাগ.লগ' কোনও ফাইলের সাথে মেলে না"
মাইকেল

45

এই ইস্যুটির আর একটি কারণ হ'ল বিবৃতি দেওয়ার আগে ফাঁকা জায়গা বা ট্যাবগুলি:

উদাহরণ:

# Be aware of the following:
 notWorkingIgnore.*
workingIgnore.*

এবং একটি পিছনের স্থান নীচে মন্তব্য দ্বারা ইশারা হিসাবে একটি সমস্যা হতে পারে:

# Be aware of the following:
notWorkingIgnore.* #<-Space
workingIgnore.*#<-Nospace

11
একটি পিছনের স্থানটি আমার সমস্যা ছিল যা এটি এমনকি খুঁজে পেতে আরও জটিল।
ব্ল্যাকবেরী

3
হোয়াইটস্পেসের একটি পেছনের সমস্যাও ছিল।
ট্রেফেক্স

3
হ্যাঁ, এখানেও একই। আমি ফাইল প্যাটার্ন পরে মন্তব্য লিখতে পেরেছিলেন: *.txt # Tex files। তবে গিট বুঝতে পারে: "এক্সটেনশন দিয়ে ফাইলগুলি উপেক্ষা করুন txt "
অ্যাডাম লিবুয়া 20:58

3
আমার কথা, 15-টি উত্তোলিত উত্তর খুঁজতে আমাকে 2 দিন সময় নিয়েছে। এটি আরও প্রাপ্য।
ফরডকার্স

2
আমি কয়েক মাস ধরে আমার একটি সমস্যার সমাধান করেছি ... ধন্যবাদ!
আর্কিলিস

36

আমি লক্ষ্য করেছি যে এর এনকোডিংয়ের .gitignoreএকটি প্রভাব রয়েছে - ফাইলটি যদি ইউনিকোড হয় তবে তা এড়ানো হবে, এটি যদি ASCII হয় তবে তা ছিল না।

প্রসেস:

  1. স্থিতি যাচাই করুন: PS> git status
  2. গেট-ফাইলএঙ্কোডিংয়ের জন্য একটি ফাংশন তৈরি করুন
  3. পরীক্ষার .gitignoreএনকোডিং:PS> Get-FileEncoding .gitignore
  4. এনকোডিংটি ASCII এ পরিবর্তন করুন :PS> Set-Content .gitignore -Encoding Ascii -Value (Get-Content .gitignore)
  5. নিশ্চিত করুন: PS> git status

5
1000 এর জন্য ধন্যবাদ। আমি পাওয়ারশেলের মাধ্যমে touch .gitignoreএবং echo ".db" >> .gitignoreরুটটি ব্যবহার করে আমার সিস্টেমে .gitignore ফাইল তৈরি করছিলাম। আমি দেখতে পেলাম যে echo ".db" >> .gitignore"ফাইলটি ইউসিএস -২ এল-বিওএম-তে ফাইল এনকোডিং সেট করছে, এটি এএসসিআইআই-তে দ্রুত রূপান্তরিত হয়েছিল এবং গিটিগনোর কাজ শুরু করেছে।
বি-র‌্যাড

2
পদক্ষেপ 2 এবং 3 এড়িয়ে আপনি চেষ্টা করতে পারেন
অনিকেত भन्

32

অন্যান্য সমাধানের হিসাবে, প্রথম কমিট এবং জেনে রাখুন যে আপনি হতে হবে কোনো অ-অঙ্গীকারবদ্ধ পরিবর্তন হারান।

এর সাথে আমার আরও ভাল ফলাফল হয়েছে:

git rm -r --cached .
git reset HEAD --hard
git status

মনে রাখবেন যে স্থিতিতে এখন কোনও সংশোধিত ফাইল থাকা উচিত নয়।


2
এইটি আমার পক্ষে কাজ করছে না তবে ইফিগির উত্তরটি দেয়
fanny

21

আমার ক্ষেত্রে, কারণ ফাইলগুলি ইতিমধ্যে ভান্ডারে রয়েছে এবং আমি এটিকে উপেক্ষা করার চেষ্টা করছি।

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

  • অস্থায়ী ফোল্ডারে ফাইলগুলি অনুলিপি করুন
  • তাদের আমার প্রকল্প ফোল্ডার থেকে সরান।
  • সংগ্রহগুলি থেকে সেই ফাইলগুলি সরিয়ে দেয় এমন পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ
  • আমার প্রকল্প ফোল্ডারে সেই ফাইলগুলি পুনরায় যুক্ত করা হয়েছে

ততক্ষণে, এই ফাইলগুলিতে আমি যে কোনও পরিবর্তন করেছি তা উপেক্ষা করা হয়েছিল।

আমি মনে করি আপনি ইতিমধ্যে ভান্ডারটিতে বিদ্যমান ফাইলগুলিকে উপেক্ষা করতে পারবেন না।


আমার ক্ষেত্রে, তারা ইতিমধ্যে মঞ্চস্থ হয়েছিল। কেবলমাত্র আপনার পরামর্শ অনুসারে কাজ করার পরে, তারপরে প্রতিশ্রুতি দেওয়ার চেষ্টা করা এবং সতর্ক হওয়াটি যে তারা মঞ্চস্থ হয়েছিল এবং সরানো হয়েছিল তা দেখে আমি বুঝতে পারি যে এটিই সমস্যা।
dudeNumber4

19

এখানে সমস্ত উত্তর প্রকৃতপক্ষে কর্মক্ষেত্র। রান করার আগে আপনাকে .gitignore ফাইল তৈরি করতে হবে git init। অন্যথায় gitকখনই জানতে পারবেন না যে আপনাকে এই ফাইলগুলি উপেক্ষা করা দরকার, কারণ সেগুলি ইতিমধ্যে ট্র্যাক করা হয়েছে।

echo .idea/ >> .gitignore
git init

যদি আপনি প্রতিদিনের ভিত্তিতে বিকাশ করেন তবে আমি আপনাকে পরামর্শ দিচ্ছি যে আপনার অভ্যাসগত উপেক্ষা করা ফাইলগুলি আপনার ~/.gitignore_globalফাইলে যুক্ত করুন। এইভাবে, gitইতিমধ্যে জানতে পারবেন যে আপনি কোন ফাইলগুলি (যার অর্থ "আপনার ব্যবহারকারী", যেহেতু এটি আপনার হোম ডিরেক্টরিতে কোনও ফাইল) সাধারণত উপেক্ষা করে।


Godশ্বরের ধন্যবাদ ... অবশেষে এমন একটি সমাধান যা আমার পক্ষে কাজ করে।
ডিবিএল

~/.gitignore_globalএকটি কনফিগারযোগ্য নাম। চালান git config --global core.excludesfileযদি আপনি ইতিমধ্যে একটি ফাইল সংজ্ঞায়িত দেখতে প্রথম। যদি না হয়, চালান git config --global core.excludesfile ~/.gitignore_global
নওমেনন

আপনি যদি .gitignoreপ্রথমটি তৈরি না করেন তবে কার্যনির্বাহী : ট্র্যাক করা ফাইলটির নতুন নাম দিন। .gitignoreএটি নতুন ছিল এমনভাবে প্রয়োগ করা হবে।
নওমেনন

15

আপনি যে ডিরেক্টরিটি রেখেছিলেন তাও পরীক্ষা করে দেখুন .gitignore

এটি আপনার প্রকল্পের মূলের মধ্যে থাকা উচিত :

./myproject/.gitignore

না

./myproject/.git/.gitignore

9

বিশেষত উইন্ডোজ ব্যবহারকারীদের জন্য: আপনার যদি অনতিবিলমুক্ত ফাইল থাকে এবং ক্যাশেড ফাইলগুলি সাফ / মুছে ফেলা কাজ করে না। পাওয়ারশেল খোলার এবং .gitignore ফাইলটিকে ইউটিএফ -8 এনকোডিংয়ে রূপান্তর করার চেষ্টা করুন:

$Myfile = Get-Content .\.gitignore`
$Myfile | Out-File -Encoding "UTF8" .gitignore

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


8

.gitignoreবিশেষত উইন্ডোজ ব্যবহারকারীর ক্ষেত্রে এর সাথে আর একটি সমস্যা ঘটতে পারে। আপনি নাম লিখলে .gitignore(যেমন unity.gitignore) গিট পছন্দ করে না ।

আপনি সর্বদা এটির নাম রাখতে চান .gitignoreবা উইন্ডোজে .gitignore.যেমন উইন্ডোজ মনে করে আপনি কোনও ফাইল নাম ছাড়াই এটির নামকরণের চেষ্টা করছেন।


7

আমি কেবল এই ইস্যুতে দৌড়েছি। আমার .gitignore ফাইলের মধ্যে থাকা সামগ্রীটি অবিরত ফাইলগুলির তালিকায় প্রদর্শিত হতে থাকে।

উপেক্ষা করা ফাইল তৈরি করতে আমি এটি ব্যবহার করছিলাম:

echo "node_modules" > .gitignore

দেখা যাচ্ছে যে ডাবল উদ্ধৃতিগুলি আমার জন্য সমস্যা সৃষ্টি করেছিল। আমি উপেক্ষা করা ফাইলটি মুছলাম এবং তারপরে উদ্ধৃতি ছাড়াই পুনরায় কমান্ডটি ব্যবহার করেছি এবং এটি প্রত্যাশার মতো কাজ করেছে। ফাইল এনকোডিংয়ের সাথে আমার গোলযোগ করার দরকার নেই। আমি সিএমডার ব্যবহার করে একটি উইন্ডোজ 10 মেশিনে আছি

উদাহরণ:

echo node_modules > .gitignore

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

6

আমার জন্য আগের উত্তরগুলির কোনওটিরই কাজ হয়নি। আমাকে পাওয়া ফাইলটিতে .gitignoreটেক্সটটি অনুলিপি করতে exclude.txtহয়েছিল

<Your-project-folder>\.git\info

একবার হয়ে গেলে, আপনার পরিবর্তনগুলি রিফ্রেশ করুন এবং সমস্ত তালিকাবিহীন ফাইলগুলি চলে গেছে। যথারীতি প্রতিশ্রুতিবদ্ধ


6

আমার সমস্যাটি ছিল (যেমন ওপি হিসাবে প্রস্তাবিত) একটি দুর্নীতিগ্রস্ত। Gitignore ফাইল। আমি বিশ্বাস করি না যে এটি ছিল এবং সম্ভাব্যতা উপেক্ষা করে যতক্ষণ না সমস্ত কিছু ব্যর্থ হয়। দুর্নীতি দেখা যায় নিvi , তবে ফাইলটির শুরুতে দুটি বাইট ছিল যার কারণে .gitignore ফাইলটিকে উপেক্ষা করা হয়েছিল। আমার জন্য, আমি কেবল টাইপ করার সময় এগুলি প্রদর্শিত হয়েছিল cat .gitignore, যা দেখায়:

��# Built application files
*.apk
*.ap_

# ...

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

user@dev ~/project/myproject $ xxd -b .gitignore
00000000: 11111111 11111110 00100011 00000000 00100000 00000000  ..#. .
00000006: 01000010 00000000 01110101 00000000 01101001 00000000  B.u.i.

2
এটি কোনও ইউটিএফ -8-এনকোডযুক্ত ফাইলের কোনও ইউটিএফ -16 বাইট অর্ডার চিহ্নের মতো দেখাচ্ছে। en.wikipedia.org/wiki/Byte_order_mark
jsageryd

6

এই লাইনটি থাকা একটি .gitignore ফাইলের সাথে আমার এই সমস্যাটি ছিল:

lib/ext/

আমি কেবল বুঝতে পেরেছি যে বাস্তবে, এই ডিরেক্টরিটি অন্য কোথাও কোনও ফোল্ডারের প্রতীকী লিঙ্ক:

ls -la lib/ext/
lrwxr-xr-x 1 roipoussiere users 47 Feb  6 14:16 lib/ext -> /home/roipoussiere/real/path/to/the/lib

লাইনে lib/ext/, গিট আসলে একটি ফোল্ডার সন্ধান করে তবে প্রতীকী লিঙ্কটি একটি ফাইল , তাই আমার libফোল্ডারটিকে উপেক্ষা করা হবে না।

আমি আমার .gitignore ফাইলে প্রতিস্থাপন lib/ext/করে lib/extএটি ঠিক করেছি।


5

আমারও একই সমস্যা ছিল আমি বিশ্বাস করি যে বিষয়টিটি একটি সিআর বনাম সিআর + এলএফ বৈষম্য। আমি সিএমডি (উইন্ডোজ on-এ) এবং নিম্নলিখিত কমান্ডটি ব্যবহার করে আমার .গিটিগনোরের জিনিসগুলি স্ট্যাশ করেছি:

খারাপ:

echo "file_to_be_ignored.py" >> .gitignore<br>
echo "*~" >> .gitignore

প্রভৃতি

সমস্যাটি ছিল যে এই কমান্ডটি গিটকে নতুন লাইনের স্বীকৃতি দেওয়ার জন্য সঠিক প্রান্তের-লাইন চিহ্নিতকারী রাখে না (গিটার অন্যটির প্রত্যাশা করলে সিআর বা সিআর + এলএফ হয়)। আমি ম্যানুয়ালি ভিমের প্রতিটি নতুন লাইন (উদ্ধার থেকে রেসকিউ!) প্রতিস্থাপন করে সমস্যার সমাধান করেছি এবং এটি পুরোপুরি কার্যকর হয়েছে worked

নোটপ্যাড ++ বা ভিমে (আদর্শভাবে) আপনার .gitignore সম্পাদনা করার চেষ্টা করুন। এমনকি ফাইলটি এটি সঠিকভাবে ফর্ম্যাট করা মনে হলেও নতুন লাইনের স্থান প্রতিস্থাপনের চেষ্টা করুন। এটি অদ্ভুত লাগছে, আমি জানি, তবে এটি আমার পক্ষে কাজ করেছিল। : ডি


4

ঠিক আছে, সুতরাং আমার ক্ষেত্রে গৃহীত সমাধান কাজ করে না, এবং কী কাজ করেছে তা এখানে বর্ণিত হয়েছে:

ভিজ্যুয়াল স্টুডিও 2013 কি আপনার .gitignore ফাইলটিকে উপেক্ষা করছে?

সংক্ষেপে:

  • ভিজ্যুয়াল স্টুডিও বন্ধ করুন
  • আপনার .git ফোল্ডারে নেভিগেট করুন
  • মুছে ফেলা ms-persist.xml
  • ভিজ্যুয়াল স্টুডিও পুনরায় চালু করুন

3

লক্ষ্য করার মতো একটি বিষয়: আপনি কি আপনার .gitignore ফাইলটিকে সঠিক লাইনের সমাপ্তি দিয়ে সংরক্ষণ করছেন?

উইন্ডোজ:

আপনি যদি এটি উইন্ডোতে ব্যবহার করেন, আপনি কি এটি উইন্ডোজ লাইনের শেষের সাথে সংরক্ষণ করছেন? সমস্ত প্রোগ্রাম ডিফল্টরূপে এটি করবে না; নোটপ্যাড ++ এবং অনেক পিএইচপি সম্পাদকদের ডিফল্ট লিনাক্স লাইনের শেষ হয় তাই ফাইলগুলি সার্ভারের সাথে সামঞ্জস্যপূর্ণ হবে। এটি যাচাই করার একটি সহজ উপায় হ'ল উইন্ডোজ নোটপ্যাডে ফাইলটি খুলুন। যদি সমস্ত কিছু এক লাইনে উপস্থিত হয়, তবে ফাইলটি লিনাক্স লাইনের সমাপ্তি দিয়ে সংরক্ষণ করা হয়েছিল।

লিনাক্স:

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


3

আর একটি সম্ভাব্য কারণ - একই সময়ে গিট ক্লায়েন্টদের চলমান কয়েকটি ঘটনা । উদাহরণস্বরূপ, "গিট শেল" + "গিটহাব ডেস্কটপ" ইত্যাদি


এটা আমার সাথে ঘটেছিল। আমি "গিটহাব ডেস্কটপ" কে মূল ক্লায়েন্ট হিসাবে ব্যবহার করছিলাম এবং এটি কিছু নতুন .gitignore সেটিংস উপেক্ষা করছে: প্রতিশ্রুতি অনুসারে প্রতিশ্রুতিবদ্ধ:

  1. আপনি কিছু প্রতিশ্রুতিবদ্ধ।
  2. পরবর্তী, প্রতিশ্রুতিবদ্ধ: এটি .gitignore সেটিংস উপেক্ষা করে। কমিটে .gitignore এ উল্লিখিত প্রচুর অস্থায়ী ফাইল অন্তর্ভুক্ত রয়েছে।
  3. গিট ক্যাশে সাফ করুন; .gitignore UTF-8 কিনা তা পরীক্ষা করুন; ফাইলগুলি সরান → প্রতিশ্রুতিবদ্ধ files ফাইলগুলি আবার সরিয়ে দিন; একটি প্রতিশ্রুতি এড়িয়ে যান - কিছুই সাহায্য করেনি।

কারণ : ভিজ্যুয়াল স্টুডিও কোড সম্পাদক একই খোলার সংগ্রহশালা সহ পটভূমিতে চলছিল। ভিজ্যুয়াল স্টুডিও কোডটিতে অন্তর্নির্মিত গিট নিয়ন্ত্রণ রয়েছে এবং এটি কিছু বিবাদ সৃষ্টি করে।

সমাধান : একাধিক, লুকানো গিট ক্লায়েন্টদের ডাবল-চেক করুন এবং বিশেষত গিট ক্যাশে সাফ করার সময় এক সময় কেবলমাত্র একটি গিট ক্লায়েন্ট ব্যবহার করুন।


3

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

সুতরাং, ক্যাশে বিকল্পটি সরাসরি আমার পক্ষে কাজ করবে না। প্রাথমিক কাজ শুরু করার পরে এবং কাজ .gitignoreকরছে না এমন যারা অন্যদের জন্য সোর্স কন্ট্রোল যুক্ত করেছে তাদের জন্য পোস্ট করা , আপনি খুব একটা কাজ হারাতে ভীত হতে পারেন তাই আপনার git rm --cachedজন্য নয় for

গুরুত্বপূর্ণ: এটি সত্যিকার অর্থে কারণ আমি "প্রজেক্ট" -এ খুব দেরি করে গিট যুক্ত করেছি যা আমার .gitignore এড়িয়ে চলেছে বলে মনে হচ্ছে। আমি কখনও কমিট করি না। আমি এটি দিয়ে দূরে যেতে পারি :)

প্রথম, আমি সবেমাত্র করেছি:

rm -rf .git
rm -rf .gitignore

তারপরে, আমাকে আমার পরিবর্তনগুলির ছবি থাকতে হবে। আবার, এটি একটি ইনস্টল পণ্য যা আমি পরিবর্তনগুলি করেছি। খাঁটি মাস্টার শাখার প্রথম অঙ্গীকারের জন্য খুব দেরি। সুতরাং, আমি কী পরিবর্তন করেছি তার একটি তালিকা আমার প্রয়োজন ছিল যেহেতু আমি নীচের যে কোনও একটিতে যোগ করে প্রোগ্রামটি ইনস্টল করেছি > changed.log:

শক্তির উৎস

# Get files modified since date.
Get-ChildItem -Path path\to\installed\software\ -Recurse -File | Where-Object -FilterScript {($_.LastWriteTime -gt '2020-02-25')} | Select-Object FullName

সজোরে আঘাত

# Get files modified in the last 10 days...
find ./ -type f -mtime -10

এখন, গত দশ দিনে আমি কী বদলেছি তার তালিকা আমার রয়েছে (আসুন, হ্যাঁ, আমি নিজের সাথে এটি করেছি) বলা বাদে এখানে সেরা অনুশীলনে না।

নতুন করে শুরু করার জন্য, এখন:

git init .
# Create and edit .gitignore

আমাকে আমার পরিবর্তিত তালিকাটি আমার বর্ধমান .gitignore এর সাথে তুলনা করতে হয়েছিল, git statusআমি এটি উন্নত করার সাথে সাথে চালাচ্ছি , তবে। Gitignore এ আমার সম্পাদনাগুলি পড়ার সাথে সাথে আমার পাঠানো হয়।

অবশেষে, আমি কাঙ্ক্ষিত পরিবর্তনগুলির তালিকা পেয়েছি! আমার ক্ষেত্রে এটি বয়লারপ্লেট - এই সফ্টওয়্যারটির বিরুদ্ধে একটি ডেভ সিস্টেম চালানোর জন্য নির্দিষ্ট সেভার এক্সএমএল কনফিগারেশনের সাথে কিছু থিম কাজ করে যা আমি অন্য দেবগণকে দখল করতে এবং অবদান রাখতে একটি রেপো রাখতে চাই ... এটি আমাদের মাস্টার শাখা হবে, সুতরাং প্রতিশ্রুতিবদ্ধ, ধাক্কা, এবং অবশেষে নতুন কাজের জন্য ব্রাঞ্চ!


2

নিম্নলিখিত কমান্ডের দ্বারা গিটে পূর্বে করা ফোল্ডার বা ফাইলটি সরিয়ে ফেলুন। তারপরে gitignore ফাইলটি সঠিক ফাইলগুলি প্রতিফলিত করবে।

    git rm -r -f "folder or files insides"

2

এখানে অন্য উত্তরগুলির দ্বারা আচ্ছাদিত নয় এমন একটি জটিল জিনিসটি হ'ল .gitignore ফাইলটি যদি আপনার মতো ইনলাইন মন্তব্য না করে তবে কাজ করবে না:

foo/bar # The bar file contains sensitive data so we don't want to make this public

সুতরাং, আপনার যদি মতামত থাকে তবে তাদের এ জাতীয় পরিবর্তন করুন:

# The bar file contains sensitive data so we don't want to make this public
foo/bar

2

এটি একটি সম্ভাবনা যা আপনি .gitignoreএকটি sudoকমান্ড দিয়ে ফাইল সম্পাদনা করেছেন । আমি একই সমস্যাটির মুখোমুখি হয়েছি এবং কমান্ডগুলি সম্পাদন করার সময়:, git statusআমি এখনও "উপেক্ষা করা উচিত" ফাইলগুলি দেখতে পেতাম।

nano .gitignoreপরিবর্তে সম্পাদনা করার পরে sudo nano .gitignore, আমি সঠিক প্রতিচ্ছবি দেখতে পেলাম।


2

আমি echo "..." > .gitignoreউইন্ডোজের পাওয়ারশেলে ব্যবহার করে .gitignore তৈরি করেছি , কারণ এটি আমাকে উইন্ডোজ এক্সপ্লোরারে তৈরি করতে দেয় না।

আমার ক্ষেত্রে সমস্যাটি হ'ল তৈরি করা ফাইলটির এনকোডিং ছিল এবং আমি এএনএসআইতে পরিবর্তন করার পরে সমস্যাটি সমাধান করা হয়েছিল।


2

আমারও উবুন্টুতে একই সমস্যা আছে, আমি .gitignoreটার্মিনালটি তৈরি করেছি এবং এটি আমার পক্ষে কাজ করে

touch .gitignore


2

খনি কাজ করছিল না কারণ আমি আক্ষরিকভাবে .gitignore নামে একটি পাঠ্য নথি তৈরি করেছি

পরিবর্তে, একটি পাঠ্য নথি তৈরি করুন, এটি নোটপ্যাডে খুলুন ++ তারপরে .gitignore হিসাবে সংরক্ষণ করুন

আপনি যখন সংরক্ষণ করেন তখন ড্রপডাউন থেকে সমস্ত প্রকার (*। *) বাছাই করা নিশ্চিত করুন।


অথবা গিটব্যাশে, সহজভাবে ব্যবহার করুন touch .gitignore


1

আপনি যদি নোটপ্যাড ++ ব্যবহারকারীর হন তবে নিম্নলিখিতগুলি করার চেষ্টা করুন:

নোটপ্যাড ++ ব্যবহার করে আপনার .gitignore ফাইলটি খুলুন এবং করুন:

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

git statusআবার ব্যবহার করার চেষ্টা করুন এবং দেখুন এটি আপনার জন্য কাজ করে কিনা।

আমি এখানে অনুরূপ প্রশ্নের উত্তর পোস্ট করেছি ।


1

আমার জন্য এটি আরও একটি সমস্যা ছিল। আমার .gitignore ফাইলটি সেটাকে সেট করা আছে যা আমি এড়াতে চাই না এমন জিনিসগুলি বাদ দিয়ে সমস্ত কিছু উপেক্ষা করে। যেমন:

/*
!/content/

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

সুতরাং আরও একটি লাইন যুক্ত করা এটি স্থির করে:

/*
!/content/
!.gitignore

1

আমার সমস্যাটি হ'ল আমি স্ল্যাশ / দিয়ে পৃথকীকরণের সাথে "" উদ্ধৃতি দিয়ে উপেক্ষা করতে ফাইলগুলি লিখেছিলাম।

এটি কার্যকর হয়নি এবং গিট দ্বারা উপেক্ষা করা হয়েছিল:

"db.sqlite3"
"tdd_venv/"

এটি ঠিক কাজ করেছে:

/db.sqlite3
/tdd_venv/

আমি নোটপ্যাড ++ সহ উইন্ডোতে আমার ফাইল এনকোডিং পরীক্ষা করেছি। এনকোডিংটি ইউটিএফ -8 এ সেট করা হয়েছিল।

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