আমার একটি রেপো আছে যাতে দুটি ফাইল রয়েছে যা সম্ভবত আমি স্থানীয়ভাবে পরিবর্তিত হয়েছিল।
সুতরাং আমি এই সঙ্গে আটকে আছি:
$ 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
?