গিট: "পরিবর্তিত তবে প্রতিশ্রুতিবদ্ধ নয়" এমন একরকম আটকে থাকা দুটি ফাইল কীভাবে পুনরায় ফিরিয়ে আনবেন?


84

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

সুতরাং আমি এই সঙ্গে আটকে আছি:

$ git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   dir1/foo.aspx
#       modified:   dir2/foo.aspx
#
no changes added to commit (use "git add" and/or "git commit -a")

করণ git diffবলছে যে পুরো ফাইলের বিষয়বস্তুগুলি পরিবর্তিত হয়েছে, যদিও এটি চোখ ধাঁধানো অসত্য বলে মনে হচ্ছে (এমন সাধারণ লাইন রেঞ্জগুলি দেখতে দেখতে ব্যর্থ বলে মনে হচ্ছে)।

মজার বিষয় আমি স্থানীয়ভাবে এই ফাইলগুলি পরিবর্তন করার কথা মনে করি না। এই রেপো একটি রিমোট রেপো (ব্যক্তিগত, গিটহাব ডটকম, এফডাব্লুআইডাব্লু) এর সাথে ব্যবহৃত হয়।

আমি যা চেষ্টা করেছি তা বিবেচনা না করেই আমি এই স্থানীয় পরিবর্তনগুলি বাতিল করতে পারি না। আমি সব চেষ্টা করেছি:

$ git checkout -- .
$ git checkout -f
$ git checkout -- dir1/checkout_receipt.aspx
$ git reset --hard HEAD
$ git stash save --keep-index && git stash drop
$ git checkout-index -a -f

অন্য কথায় আমি বর্ণিত সমস্ত কিছুর চেষ্টা করেছি কীভাবে আমি গীটে অনাস্থাবিহীন পরিবর্তনগুলি বাতিল করব? আরও বেশি তবে দুটি ফাইল "পরিবর্তিত তবে প্রতিশ্রুতিবদ্ধ না" হিসাবে আটকে রয়েছে।

হেক কী কারণে দুটি ফাইল এভাবে আটকে থাকবে এবং আপাতদৃষ্টিতে "আন-রিভার্ট-টেবিল" থাকবে ??

পিএস উপরের তালিকায় কমান্ডগুলি প্রদর্শন করে আমি ইতিমধ্যে চেষ্টা করেছি, আমি git revertযখন বোঝাতে চেয়েছি তখন ভুল করে লিখেছিলাম git checkout। আমি দুঃখিত এবং আপনারা যারা আপনাকে উত্তর দিয়েছিলেন যে আমার চেষ্টা করা উচিত তাদের ধন্যবাদ জানাই checkout। আমি এটিকে সংশোধন করার জন্য প্রশ্নটি সম্পাদনা করেছি। আমি অবশ্যই ইতিমধ্যে চেষ্টা করেছি checkout


কি git diff --ignore-space-changeবা git diff --ignore-all-spaceআউটপুট মধ্যে একটি পার্থক্য করতে git diff?
jdd

@ জেরমিয়াদ হ্যাঁ! উভয়ের পতাকা সহ, git diffফাইলগুলি অভিন্ন বলে।
গ্রেগ হেন্ডারশট

4
স্ট্যাকওভারফ্লো / কোয়েশনস / 40৪০৪/২ এর সম্ভাব্য সদৃশ । আমি গ্রহণযোগ্য উত্তরটি যেভাবেই হোক পছন্দ করতে চাই, এটি git config --global core.autocrlf false'সত্য' এর পরিবর্তে সেট করা।
জোহান

4
উত্তর [এখানে] [1] আমার এবং আরও অনেকের পক্ষে কাজ করেছে। [1]: স্ট্যাকওভারফ্লো.com
মাইক কে

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

উত্তর:


34

ফাইলগুলিতে লাইন শেষ কি? আমি বাজি দিচ্ছি তারা সিআরএলএফ। যদি তারা হয় তবে এই গাইডটি দেখুন: http://help.github.com/line-endings/

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


4
ধন্যবাদ আমার কাছে ইতিমধ্যে আছে git config --global core.autocrlf trueএবং তাই অন্য পক্ষটি গিটহাবের রেপোতে চাপ দিচ্ছে।
গ্রেগ হেন্ডারশট

4
তারপরে আপনার <pre>রেপোতে ফাইলগুলি ঠিক করার জন্য সেই গাইডের শেষ ব্লকে বিটগুলি করা উচিত ।
টেককুব

4
আমি একমত নই যে রেখার সমাপ্তি সর্বদা রেপোতে এলএফ হওয়া উচিত (বিশেষত যদি অন্য কেউ ইতিমধ্যে সিআরএলএফ প্রতিশ্রুতিবদ্ধ থাকে) এবং ওএস সর্বদা দেশীয় হওয়া উচিত। আমার উইন্ডোজ সম্পাদক এবং পরিবেশ (প্রধানত পিএইচপি, এইচটিএমএল, সিএসএস ইত্যাদির জন্য) এলএফ লাইন সমাপ্তির সাথে পুরোপুরি ভালভাবে কপি করে।
সাইমন পূর্ব

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

121

অনুরূপ সমস্যা সমাধানের চেষ্টা করার জন্য আমি ঘন্টা সময় ব্যয় করেছি - একটি দূরবর্তী শাখা যা আমি চেক আউট করেছি, যা দৃ files়তার সাথে চারটি ফাইলকে 'পরিবর্তিত তবে আপডেট করা হয়নি' হিসাবে দেখিয়েছিল, এমনকি সমস্ত ফাইল মুছে ফেলা এবং git checkout -fপুনরায় চালনার সময় (বা এই পোস্ট থেকে অন্যান্য রূপগুলি)!

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

git ls-files -m | xargs -i git update-index --assume-unchanged "{}"

ম্যাক ওএসএক্স-তে যদিও xargs কিছুটা আলাদা কাজ করে (মন্তব্যের জন্য ডেক্স ড্যানিয়েল):

git ls-files -m | xargs -I {} git update-index --assume-unchanged {}

আমি পরের বারের জন্য এটি নিজের জন্য স্থানধারক হিসাবে যুক্ত করেছি, তবে আমি আশা করি এটি অন্য কাউকেও সহায়তা করবে।

-আল


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

4
ধন্যবাদ! আমি যে সমস্ত উত্তর খুঁজে পেতে পারি তাতে উল্লিখিত সমস্ত কৌশল চেষ্টা করেছিলাম - কোনওটিই কাজ করে না। কোনও ম্যাকের জন্য লাইনটি যেমনটি ব্যবহার করা যায়নি, কেবল প্রতিটি ফাইলটিতে গিট আপডেট-ইনডেক্স --assume-unchanged <filename> চালিত হয়েছিল এবং এটি সমস্যাটি দূরে সরিয়ে নিয়েছে।
যোনাতন করনী

6
এটি হ'ল আমার যা প্রয়োজন তা হ'ল যদিও ম্যাকের জার্গাগুলি কিছুটা ভিন্নভাবে কাজ করছে বলে মনে হচ্ছে (আমি 10.10 ইয়োসেমাইট চালাচ্ছি)। এটি অবশেষে আমার পক্ষে কাজ করেছে:git ls-files -m | xargs -I {} git update-index --assume-unchanged {}
ড্যানিয়েল

4
কমান্ডটির প্রভাবটি ফিরিয়ে আনার জন্য:git ls-files -v|grep '^h' | cut -c3- | xargs -i git update-index --no-assume-unchanged "{}"
মেরিনোস

4
এই সমাধানটি সমস্যার সমাধান করে না। এটি এটি লুকিয়ে রাখে। assume-unchaged@ রড এইচ 257-র ক্ষেত্রে যেমন দু'টি জিনিস সম্পাদন করা যায় না । আমি বিশ্বাস করি যে কমান্ডগুলি পছন্দ করে git checkout -- file, git stashএবং git reset --hard HEADকাজ করে না তার ক্ষেত্রে সবচেয়ে সঠিক উত্তরটি ইতিমধ্যে উত্তর হিসাবে, সম্পাদনা করা হচ্ছে.gitattributes
মেরিনোস

20

এইভাবে আমি আমার ক্ষেত্রে একই সমস্যাটি স্থির করেছি: খোলা .গিটিগ্রিবিট পরিবর্তন:

* text=auto

প্রতি:

#* text=auto

সংরক্ষণ করুন এবং বন্ধ করুন, তারপরে ফিরে যাওয়া বা পুনরায় সেট করুন, ইঙ্গিতটির জন্য @ সিমন ইস্টকে ধন্যবাদ


4
text=auto.Gitattributes এ সেটিংটি সরিয়ে ফেলা আমার পক্ষে কাজ করেছিল এবং তারপরে আমি git reset --hardসেই সেটিংটি ফিরিয়ে দেওয়ার পরে ফাইলগুলি আর পরিবর্তিত হিসাবে দেখানো হয়নি!
এরিক

4
এই text=autoসেটিংটিতে অবশ্যই কিছু ভুল আছে wrong আমি একাধিক ওএস থেকে কমিট নিয়ে রিপোসে কাজ করছি এবং আমার কী কারণে আরও বেশি সমস্যা হয় তা এখনও খুঁজে বের করতে পারি নি: এটি রাখা বা এড়াতে।
মেরিনোজ আন

4
@ মেরিনোস হ্যাঁ, বিশেষত, গিটটি আপনাকে প্রথমে যখন এই সেটিংটি যুক্ত করবে তখন ভুল লাইন শেষের সাথে বিদ্যমান পাঠ্য ফাইলগুলি ছাড়তে দেয়। এটি কেবল ভুল এবং আপনি নিজেরাই এটির কথা স্মরণ না করে অবশেষে আপনি এই পুনঃ-প্রত্যাবর্তনযোগ্য পরিবর্তনগুলির মধ্যে একটিতে চলে আসবেন।
রোমান স্টারকভ

12

আর একটি সম্ভাবনা হ'ল পার্থক্য (যা আপনার এই ফাইলগুলিকে চেকআউট কমান্ডের সাহায্যে ফিরিয়ে আনতে বাধা দিচ্ছে) ফাইল মোডের মধ্যে একটি। এই আমার ঘটেছে কি। গিটের আমার সংস্করণে আপনি এটি ব্যবহার করে এটি আবিষ্কার করতে পারেন

গিট ডিফ ডিআর 1 / foo.aspx

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

গিট কনফিগারেশন কোর.ফিলমোড মিথ্যা

বা যোগ করে আপনার পাঠ্য সম্পাদকটিতে আপনার গিট .config পরিবর্তন করুন

[মূল]

filemode = false

আপনি এটি করার পরে, আপনি ব্যবহার করতে পারেন

গিট রিসেট হেড dir1 / foo.aspx

এবং ফাইলটি অদৃশ্য হয়ে যাবে।

(আমি কীভাবে গিট উপেক্ষা মোড পরিবর্তন (chmod) করতে পারি তার উত্তর থেকে আমি এগুলি পেয়েছি? )


4
আপনি যদি উইন্ডোজে থাকেন, আইলের রোগ নির্ণয় / সমাধানটি আপনার প্রথম অনুমান হওয়া উচিত
অ্যালকুবিয়েরেড্রাইভ

কখনও কখনও cmd.exe থেকে সাইগউইন গিট ব্যবহার না করা সম্পর্কে বিশেষ সতর্ক হন। আপনি যদি cmd.exe এ গিট চান, এমএসএসজিট ইনস্টল করুন।
অ্যালকুবিয়েরেড্রাইভ

এটি নিশ্চিত করার জন্য যে এটি সত্যই উইন্ডোজে সমস্যা ছিল।
দেজন মারজানভিভিć

উইন্ডোজ আমার জন্য, এটি সমস্যা ছিল না ( core.filemodeইতিমধ্যে মিথ্যাতে সেট করা হয়েছিল)। আমার ক্ষেত্রে, অ্যালান ফোর্শিথের উত্তরের মধ্যে ফিক্স / ওয়ার্কআরউন্ডটি ছিল ।
ভেন্রিক্স

3

স্থানীয় পরিবর্তনগুলি ফিরিয়ে আনার চেষ্টা করুন :

git checkout -- dir1/foo.aspx
git checkout -- dir2/foo.aspx

আমার মস্তিষ্কে "রিভার্ট" ছিল এবং আমি লিখতে চাইছিলাম checkout। আমি ইতিমধ্যে চেষ্টা করেছি checkout। আপনার উত্তরের জন্য যাইহোক আপনাকে ধন্যবাদ। এটি আমার মূল প্রশ্নের উত্তম উত্তর ছিল তাই আমি উজ্জীবিত হব।
গ্রেগ হেন্ডারশট

3

আমার কিছু ফ্যান্টম পরিবর্তিত ফাইল রয়েছে যা পরিবর্তিত হিসাবে প্রদর্শিত হয়েছিল, কিন্তু আসলে অভিন্ন ছিল।

এই কমান্ড চলমান কখনও কখনও কাজ করে:
(Git এর সক্রিয় বন্ধ "স্মার্ট" কিন্তু প্রায়ই অকেজো লাইন শেষ ধর্মান্তর)

git config --local core.autocrlf false

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


text=auto.Gitattributes এ সেটিংটি সরিয়ে ফেলা আমার পক্ষে কাজ করেছিল এবং তারপরে আমি git reset --hardসেই সেটিংটি ফিরিয়ে দেওয়ার পরে ফাইলগুলি আর পরিবর্তিত হিসাবে দেখানো হয়নি!
এরিক

2
git checkout dir1/foo.aspx
git checkout dir2/foo.aspx

আমার মস্তিষ্কে "রিভার্ট" ছিল এবং আমি লিখতে চাইছিলাম checkout। আমি ইতিমধ্যে চেষ্টা করেছি checkout। আপনার উত্তরের জন্য যাইহোক আপনাকে ধন্যবাদ। এটি আমার মূল প্রশ্নের উত্তম উত্তর ছিল তাই আমি উজ্জীবিত হব।
গ্রেগ হেন্ডারশট

2

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

এটি কি না তা পরীক্ষা করার জন্য, কেবলমাত্র দূরবর্তী সংগ্রহস্থলের দ্বিগুণ কাঠামো আছে কিনা তা দেখুন।

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


2

আমি মনে করি সমস্যাটি আরও ভালভাবে বোঝার জন্য সমস্যাটি কীভাবে পুনরুত্পাদন করা যায় সে সম্পর্কে একটি ইঙ্গিত প্রদান করা সহায়ক হবে :

$ git init
$ echo "*.txt -text" > .gitattributes
$ echo -e "hello\r\nworld" > 1.txt
$ git add 1.txt 
$ git commit -m "committed as binary"
$ echo "*.txt text" > .gitattributes
$ echo "change.." >> 1.txt

# Ok let's revert now

$ git checkout -- 1.txt
$ git status
 modified:   1.txt

# Oooops, it didn't revert!!


# hm let's diff:

$ git diff
 warning: CRLF will be replaced by LF in 1.txt.
 The file will have its original line endings in your working 
 directory.
 diff --git a/1.txt b/1.txt
 index c78c505..94954ab 100644
 --- a/1.txt
 +++ b/1.txt
 @@ -1,2 +1,2 @@
 -hello
 +hello
  world

# No actual changes. Ahh, let's change the line endings...

$ file 1.txt 
 1.txt: ASCII text, with CRLF line terminators
$ dos2unix 1.txt
 dos2unix: converting file 1.txt to Unix format ...
$ git diff
 git diff 1.txt
 diff --git a/1.txt b/1.txt
 index c78c505..94954ab 100644
 --- a/1.txt
 +++ b/1.txt
 @@ -1,2 +1,2 @@
 -hello
 +hello
  world

# No, it didn't work, file is still considered modified.

# Let's try to revert for once more:
$ git checkout -- 1.txt
$ git status
 modified:   1.txt

# Nothing. Let's use a magic command that prints wrongly committed files.

$ git grep -I --files-with-matches --perl-regexp '\r' HEAD

HEAD:1.txt

পুনর্গঠন করা 2nd উপায়: উপরে লিপিতে এই লাইন প্রতিস্থাপন করুন:
echo "*.txt -text" > .gitattributes
সঙ্গে
git config core.autocrlf=false
এবং লাইন বাকি রাখা হয়


উপরের সব কি বলে? একটি টেক্সট ফাইল করতে (কিছু পরিস্থিতির অধীন), CRLF সঙ্গে প্রতিশ্রুতিবদ্ধ হতে (যেমন -textমধ্যে .gitattributes/ অথবা core.autocrlf=false)।

যখন আমরা পরে একই ফাইলটিকে পাঠ্য ( -text->) হিসাবে গণ্য করতে চাইtext ) এটি পুনরায় প্রতিশ্রুতিবদ্ধ হতে হবে।
অবশ্যই আপনি এটি সাময়িকভাবে ফিরিয়ে দিতে পারেন ( আবু আসার সঠিক উত্তর হিসাবে )। আমাদের ক্ষেত্রে:

echo "*.txt -text" > .gitattributes
git checkout -- 1.txt
echo "*.txt text" > .gitattributes

উত্তরটি হ'ল : আপনি কি সত্যিই এটি করতে চান, কারণ আপনি ফাইলটি প্রতিবার পরিবর্তন করার সময় এটি একই সমস্যার কারণ হতে পারে।


রেকর্ডের জন্য:

আপনার রেপোতে কোন ফাইলগুলি এই সমস্যা সৃষ্টি করতে পারে তা পরীক্ষা করতে নিম্নলিখিত কমান্ডটি কার্যকর করুন (গিটটি --with-libpcre দিয়ে সংকলন করা উচিত):

git grep -I --files-with-matches --perl-regexp '\r' HEAD

ফাইল (গুলি) প্রতিশ্রুতিবদ্ধ করে (মনে করুন যে আপনি এগুলি পাঠ্য হিসাবে বিবেচনা করতে চান), এই লিঙ্কে প্রস্তাবিত যা করা হচ্ছে ঠিক তেমনই এই সমস্যাগুলি সমাধানের জন্য http://help.github.com/line-endings/ । তবে, আপনাকে অপসারণ .git/indexএবং সম্পাদন করার পরিবর্তে reset, আপনি কেবল ফাইল (গুলি) পরিবর্তন করতে পারেন, তারপরে সম্পাদন করুন git checkout -- xyz zyfএবং তারপরে প্রতিশ্রুতিবদ্ধ।


2

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

শেষ পর্যন্ত, আমি এই উত্তরের একটি সমাধান পেয়েছি । নিম্নলিখিত কনভেনশনের জন্য পাঠ্য:


নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করে আমি এই সমস্যার সমাধান করেছি

1) গিটের সূচক থেকে প্রতিটি ফাইল সরান।

git rm --cached -r .

2) সমস্ত নতুন লাইন শেষ করতে গিট সূচকটি পুনরায় লিখুন।

git reset --hard

সমাধানটি গিট সাইটে https://help.github.com/articles/dealing-with-line-endings/ এ বর্ণিত পদক্ষেপের অংশ ছিল


1

আমার কাছে বিষয়টি লাইন শেষের বিষয় নয়। এটি ফোল্ডারের নাম (রিসেট_প্যাসওয়ার্ড -> রিসেট_প্যাসওয়ার্ড) কেস পরিবর্তন করার বিষয়ে ছিল। এই সমাধানটি আমাকে সহায়তা করেছে: https://stackoverflow.com/a/34919019/1328513


1

এই সমস্যাটি কারণও হতে পারে কারণ গিট বিভিন্ন মূলধনকে পৃথক পৃথক ফাইল হিসাবে বিবেচনা করে তবে উইন্ডোজ তাদের একই ফাইল হিসাবে বিবেচনা করে। যদি কোনও ফাইলের নামটির কেবলমাত্র এটির মূলধন পরিবর্তন করা থাকে তবে সেই রেপোর প্রতিটি উইন্ডো ব্যবহারকারী এই পরিস্থিতিতে শেষ হবে।

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

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