"টেক্সট" বৈশিষ্ট্যটি ব্যবহার করে আমি ফাইলগুলি স্বাভাবিককরণের পরে কীভাবে গিটকে মাস্টার শাখাটি চেকআউট করতে এবং ক্যারেজ রিটার্নগুলি সরাতে বাধ্য করব?


109

ঠিক আছে, তাই আমি .gitattributesএই লাইনের সাথে ফাইল যুক্ত করেছি

*.css text
*.js text
etc...

তারপরে আমি http://git-scm.com/docs/gitattributes#_checking-out_and_checking-in এ নির্দেশাবলী অনুসরণ করেছি

$ rm .git/index     # Remove the index to force Git to
$ git reset         # re-scan the working directory
$ git status        # Show files that will be normalized
$ git add -u
$ git add .gitattributes
$ git commit -m "Introduce end-of-line normalization"

তবে এখন আমার ওয়ার্কিং কপিটিতে এখনও গাড়ীর রিটার্ন রয়েছে! আমার কাছে তালিকাহীন ফাইল রয়েছে যা আমি রাখতে চাই। আমি কীভাবে গিটার চেকআউট করব আবার স্বাভাবিক ফাইলগুলি দিয়ে মাস্টার শাখাটি?

আমি জানি ফাইলগুলি সংগ্রহস্থলগুলিতে নরমাল করা হয় কারণ যখন আমি রেপো ক্লোন করি, তখন আমার কাছে সমস্ত গাড়ি ফাইলের গাড়ি ছাড়া হয় না।

উত্তর:


274

আহ আহ! পূর্ববর্তী প্রতিশ্রুতি পরীক্ষা করুন, তারপরে মাস্টারকে চেকআউট করুন।

git checkout HEAD^
git checkout -f master

5
এই মতবিরোধের জন্য ধন্যবাদ, তবে এটি "চেকআউট -f" সত্যিই পুনরায় চেকআউটকে জোর করে না বলে গিটের মধ্যে বিষয়টি স্পষ্ট। আরেকটি উদ্বেগ হ'ল প্রথমে সমস্ত কার্যকরী অনুলিপি ফাইলগুলি সরানো (যেমন .git dir ছাড়া সব কিছু)।
pfalcon

আহ, হ্যাঁ, এর জন্য ধন্যবাদ! এটি শুনে, আমি অনুমান করছি যে আমরা কেবল আগ্রহের ফাইলগুলি মুছে ফেলতে পারি এবং চেকআউট চালাতে পারি। আমার জন্য কেবলমাত্র একটি ফাইল ছিল যা আমি সংশোধন করার চেষ্টা করছিলাম। তবে অবশ্যই এটি সমস্ত ফাইল, শত বা হাজার হাজার হতে পারে।
জেসন

এটি গিট 1.8.3 (ম্যাক) এর সাথে ব্যর্থ হয়েছে: ত্রুটি: পথস্পেক 'হেড ^' গিটের সাথে পরিচিত কোনও ফাইল (গুলি) এর সাথে মেলে না।
ডভাল

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

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

17

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

git ls-files -z | xargs -0 rm
git checkout -- .

বা একটি লাইন

git ls-files -z | xargs -0 rm ; git checkout -- .

আমি এটি সর্বদা ব্যবহার করি এবং এখনও কোনও নীচের দিক খুঁজে পাইনি!

আরও কিছু ব্যাখ্যাের জন্য, -zপ্রতিটি প্রবেশের আউটপুট শেষে একটি নাল অক্ষর যুক্ত করে ls-filesএবং সেই নাল অক্ষর দ্বারা প্রাপ্ত আউটপুটটি সীমিত করার -0কথা বলে xargs

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