সমস্ত ফাইল চেকআউট


127

আমি কীভাবে আমার সংগ্রহস্থলের সমস্ত ফাইলের সমস্ত পরিবর্তন থেকে মুক্তি পেতে পারি?

বলুন আমি একটি শাখায় আছি এবং আমি কিছু পরিবর্তন করেছি। git status"প্রতিশ্রুতিবদ্ধ হওয়ার জন্য পরিবর্তনগুলি মঞ্চায়িত হয় না" ফাইলগুলির একটি সেট প্রদান করে এবং আমি লক্ষ্য করেছি যে আমি সমস্ত ফাইলের এই সমস্ত পরিবর্তন থেকে মুক্তি পেতে চাই। আমি কীভাবে এটি একটি একক আদেশ দিয়ে করতে পারি?

আমি জানি আমি কেবল একটি ফাইল চেকআউট করার জন্য নিম্নলিখিতগুলি করতে পারি:

git checkout -- <file>

আমি লক্ষ্য করেছি যে git checkout --একাই সমস্ত আপত্তিজনক ফাইলগুলির তালিকা ফিরিয়ে দেয়। যাইহোক, আমি তাদের সকলের চেকআউট করার কোনও উপায় খুঁজে পাচ্ছি না, এমন কিছু git checkout --all

আমি চেক করেছিলাম man git checkoutএবং কিছুই খুঁজে পেলাম না। এছাড়াও আমি দেখেছি ছাড়া চেকআউট সমস্ত ফাইল: গীত এবং চেষ্টা git checkout .এবং হয় কাজ করে নি।

আমি কি git checkout --আউটপুটটি লুপ করে প্রোগ্রামগতভাবে এটি করতে পারি ?

উত্তর:


193

আপনি যদি আপনার কার্যনির্বাহী ডিরেক্টরিটির মূলে git checkout -- .থাকেন তবে আপনি বর্তমান হেডের সমস্ত ফাইল চেক আউট করতে এবং স্থানীয় ফাইলগুলি প্রতিস্থাপন করতে পারেন।

আপনি git reset --hardনিজের কর্মনির্দেশক ডিরেক্টরিটি পুনরায় সেট করতে এবং সমস্ত পরিবর্তন (সূচক সহ) প্রতিস্থাপন করতেও করতে পারেন ।


দুটি বিকল্প সমতুল্য (যদি আমরা হেডে পুনরায় সেট করি)?
লুসিডব্রোট

10
না, কিছু পার্থক্য আছে। উদাহরণস্বরূপ, git checkout -- .কেবলমাত্র সূচকের রাজ্যে পরিবর্তনগুলি পুনরায় সেট করবে। সুতরাং আপনি যদি ইতিমধ্যে সূচীতে ফাইলগুলি যুক্ত করে থাকেন তবে এটি পুনরায় সেট হবে। অন্যদিকে git reset --hardসূচিটিও ফেলে দেবে, সুতরাং উদাহরণস্বরূপ যদি আপনার তালিকার তালিকায় আনক্র্যাকড ফাইল যুক্ত থাকে (সেগুলি ট্র্যাকিং শুরু করতে) তবে সেগুলিও সরানো হবে। git checkoutএছাড়াও আপনাকে কেবলমাত্র আরও কার্যকর পাথ পাস করে আংশিকভাবে কাজ ডিরেক্টরিটি পুনরুদ্ধার করতে দেয় যা খুব কার্যকর হতে পারে।
অকর্মা


4
@ পোকে হাই পোকে, আমি নিশ্চিত গিট চেকআউট -। কাজ করে না আমি এটি একাধিক অবিরত পরিবর্তনের জন্য চেষ্টা করেছি।
আমান

2
: অন্যান্য কমান্ড একই ফলাফল অর্জন করার জন্য git checkout --force,git reset --hard
tjalling

3

অন্য যেভাবে আমি দরকারী বলে মনে করি তা হ'ল:

git checkout <wildcard> 

উদাহরণ:

git checkout *.html

আরো সাধারণভাবে:

git checkout <branch> <filename/wildcard>

1
যদি আপনার শেলটিতে গ্লোববিং সক্ষম করা থাকে এবং ওয়ার্কিং ডিরেক্টরিতে যদি তালিকার চিহ্নবিহীন ফাইল থাকে তবে আপনি যদি তীরচিহ্ন থেকে রক্ষা না পান তবে এটি ব্যর্থ হবে, যেমন git checkout \*বা git checkout '*'
জোশ কুলি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.