গিট রেপো থেকে একাধিক ফাইল সরানো হচ্ছে যা ডিস্ক থেকে ইতিমধ্যে মুছে ফেলা হয়েছে


1311

আমার কাছে একটি গিট রেপো রয়েছে যা আমি চারটি ফাইল মুছে ফেলা করেছি rm( না git rm ), এবং আমার গিট স্ট্যাটাসটি দেখে মনে হচ্ছে:

#    deleted:    file1.txt
#    deleted:    file2.txt
#    deleted:    file3.txt
#    deleted:    file4.txt

আমি ম্যানুয়ালি না গিয়ে এই ফাইলগুলি গিট থেকে কীভাবে সরিয়ে ফেলব এবং প্রতিটি ফাইল এভাবে যুক্ত করব:

git rm file1 file2 file3 file4

আদর্শভাবে, আমি এমন কিছু সন্ধান করছি যা git add .যদি সম্ভব হয় তবে একইভাবে কাজ করে।


2
সম্পর্কিত: stackoverflow.com/questions/1856654/...
KCH

10
@ তম, এটি সর্বদা ব্যবহার করা সুবিধাজনক নয় git rm, অপসারণটি কোনও আলাদা সরঞ্জাম, আইডিই বা ফাইল ম্যানেজার থেকে নেওয়া যেতে পারে। ফাইলগুলি মুছে ফেলা / নামকরণ করার সময় ভিজ্যুয়াল স্টুডিওর জন্য ব্যথা হতে পারে।
ব্রেট রায়ান

67
ওহ, কেউ কেন ব্যবহার করে না তা git rmজিজ্ঞাসা করা কেন তারা ব্যবহার করে না git vimবা জিজ্ঞাসা করার মতো git cd। এটি করার মতো বোকামি কাজ, এবং মঞ্চ থেকে মুছে ফেলা ফাইলগুলি সরানোর জন্য গিটের একটি অন্তর্নির্মিত কমান্ড বা ওরফে থাকা উচিত, এবং আপনার দুপুরের খাবারের বিরতিতে আপনাকে এটি সন্ধান করা বা ম্যান পৃষ্ঠাগুলি পড়তে হবে না।
WCWedin

7
ভারিন্দরের উত্তর ভাল উপায় নয়। কোডির পরামর্শ অনুসারে গিট অ্যাড-ইউ বিবেচনা করুন এবং এটিও এই প্রশ্নের উত্তর: স্ট্যাকওভারফ্লো
রোল্যান্ড

উত্তর:


2300

গিট 1.x এর জন্য

$ git add -u

এটি ট্র্যাকযুক্ত ফাইলগুলি স্বয়ংক্রিয়ভাবে মঞ্চ করতে গিটকে বলে - পূর্ববর্তী ট্র্যাক করা ফাইলগুলি মোছা সহ।

গিট ২.০ এর জন্য

আপনার পুরো কাজের গাছ মঞ্চ করতে:

$ git add -u :/

এখনকার চলমান পথে মঞ্চস্থ করতে:

$ git add -u .

133
নোট করুন যে এটি সমস্ত পরিবর্তিত, ট্র্যাক করা ফাইল - মুছে ফেলা এবং আপডেট করেছে add
ইয়ান হান্টার

19
@ জিল্যান্ড, আপনাকে কেবলমাত্র নির্দিষ্ট ফাইলটিই সংশোধন করতে চান কেবলমাত্র যদি আপনি সেগুলি নাও চান তবে কেবল সেই পথটি সরবরাহ করতে হবে। যেমন গিট অ্যাড-ইউ [পাথ]
পল প্রেওয়েট

27
এছাড়াও git add -u folder/এই অপারেশনটি একটি ফোল্ডারে চালাতে
সি ..

2
অবগতির জন্য: এই উত্তর থেকে মার্জ করা হয়েছে stackoverflow.com/questions/1402776/...
Shog9

1
লোকেরা যখন এই পৃষ্ঠায় পৌঁছেছিল তখন এটিই জিজ্ঞাসা করা প্রশ্ন হতে পারে এবং ওপি আসলে জিজ্ঞাসা করার অর্থ কী হতে পারে তবে এটি জিজ্ঞাসা করা সঠিক প্রশ্নের উত্তর দেয় না।
পুনঃপ্রকাশ

1362
git ls-files --deleted -z | xargs -0 git rm 

আপনি যা খুঁজছেন তা হতে পারে .. এটি আমার পক্ষে কাজ করে ..


5
উইন্ডোজের জন্য আপনার কনফিগারেশনে নীচের উপন্যাসটি ইভান মুরান 'অপসারণ =! গিট এলএস-ফাইলগুলি --deleted -z | xargs -0 গিট আরএম '
সিএলএস

21
তাদের নামে স্পেস সহ ফাইলগুলি সম্পর্কে সতর্ক থাকুন
maazza

44
@ ডেভিভারিটgit ls-files --deleted -z | xargs -0 git rm
সর্বোচ্চ ন্যানসি

15
গিট অ্যাড-ইউ যেমন কোডির পরামর্শ দেওয়া অনেক সহজ এবং নিরাপদ উপায়, দুর্ঘটনাক্রমে ফাইলগুলি মোছার কোনও ঝুঁকি নেই।
রোল্যান্ড

4
এটি কোনও ফাইলের জন্য কাজ করতে পারে এমনকি যদি এটি ভুল উত্তর হিসাবে এটি হ্রাস করা। নীচে "গিট অ্যাড-ইউ" ব্যবহার করুন। এটাই তার জন্য।
n13

733

তুমি ব্যবহার করতে পার

git add -u

মুছে ফেলা ফাইলগুলিকে মঞ্চে যুক্ত করতে, তারপরে তাদের প্রতিশ্রুতিবদ্ধ

git commit -m "Deleted files manually"

100
দয়া করে গুগল ব্যবহারকারীর নোট করুন: এটি স্টেজেজ এরিয়াতে সংশোধিত ট্র্যাক করা ফাইলগুলিও যুক্ত করে।
এরেনন

4
আপনি যদি কেবলমাত্র ফাইলগুলি সরিয়ে রেখেছিলেন এবং তাৎক্ষণিকভাবে তাদের মঞ্চস্থ করতে চান তবে এই আদেশটি চালান।
আর্যো


356

আপনি যদি কেবল চালান:

git add -u

গিটটি আপনার সূচকটি আপডেট করবে তা জানতে যে আপনি যে ফাইলগুলি মুছলেন তা আসলে পরবর্তী প্রতিশ্রুতির অংশ হওয়া উচিত। তারপরে আপনি এই পরিবর্তনটি পরীক্ষা করতে "গিট কমিট" চালাতে পারেন।

বা, যদি আপনি চালান:

git commit -a

এটি স্বয়ংক্রিয়ভাবে এই পরিবর্তনগুলি (এবং অন্য কোনও) নেবে এবং তাদের প্রতিশ্রুতিবদ্ধ।

আপডেট : আপনি যদি কেবল মুছে ফেলা ফাইলগুলি যুক্ত করতে চান তবে চেষ্টা করুন:

git ls-files --deleted -z | xargs -0 git rm
git commit

1
ডান, git commit -aআমি যা চাই তা করব, কিছু ক্ষেত্রে আমার কাছে এমন ফাইল রয়েছে যা আমি প্রতিশ্রুতিবদ্ধ হতে চাই না, তাই আমি নিজেই প্রতিশ্রুতিটি প্রস্তুত করতে চাই।
ইগোর জাভাকা

2
কমিট -a প্রথমে প্রথমে একটি "অ্যাড-ইউ" করে; এটি পরিচিত ফাইলগুলিতে যে কোনও পরিবর্তন (সেগুলি মুছে ফেলা বা সাধারণ পরিবর্তন হতে পারে) সহ সূচি আপডেট করবে। আপনি অবশ্যই আরও সুনির্দিষ্ট হতে পারেন এবং কেবল নিজেরাই যে ফাইলগুলি চান সেগুলি যোগ / আরএম করতে পারেন। git.or.cz/gitwiki/… সহায়ক হতে পারে।
এমিল সিট

2
"আপডেট: .." এর নীচে কমান্ডসেটটি কবজির মতো কাজ করেছিল। ধন্যবাদ!
জে টেলর

10
'গিট এলএস-ফাইল - মুছে ফেলা | এর জন্য আপনাকে অনেক ধন্যবাদ xargs গিট আরএম '!
এমিট

18
"গিট এলএস-ফাইল - মোছা | এক্সগার্স গিট আরএম" সঠিক উত্তর! ধন্যবাদ!
reto

166

আপনি সম্ভবত খুঁজছেন -A:

git add -A

এটি গিট অ্যাড-ইউ এর মতো, তবে নতুন ফাইল যুক্ত করে। এটি মোটামুটি hg এর addremoveকমান্ডের সমতুল্য (যদিও সরানো সনাক্তকরণটি স্বয়ংক্রিয়)।


8
দ্রুত পার্শ্ব নোটে, -u ব্যবহার করে ট্র্যাক করা ফাইলগুলিতে অ্যাডটি সীমাবদ্ধ করে এবং -a এছাড়াও অচিহ্নযুক্ত ফাইলগুলিকে অন্তর্ভুক্ত করবে। শুধু ভেবেছি আমি পার্থক্যটি উল্লেখ করব।
spaaarky21

এই পর্যায়ে আপনি কমিট-এ পতাকা মাধ্যমে সমস্তগুলি যুক্ত করতে পারেন।
জ্যাক গারিয়সন

94

কেবল মুছে ফেলা ফাইলগুলি মঞ্চস্থ করতে :

for x in $(git status | grep deleted | awk '{print $2}'); do git rm $x; done

বা (xargs উপায়):

git status | awk '/deleted/ {print $2}' | xargs git rm

সুবিধাজনক পরে ব্যবহারের জন্য আপনি আপনার পছন্দসই কমান্ড সেটটি উলেস করতে পারেন।


2
@ সায়েব কিউ সম্পর্কে বুঝতে পারছেন, তবে xargsমাস্টারটি আনতে 15 মিনিট সময় লাগবে।
এরিক উইলসন

11
git status | awk '/deleted/ {print $3}' | xargs git rmএটি করার একটি ছোট উপায় হবে way grep | awk... শুধু বলুন নং
মার্ক রিড

58
git rm $(git ls-files --deleted)এই আরও বেশি সুবিধাজনক (থেকে অনুলিপি নয় এই )।
হটস্কে

1
xargs বা উপরের $ () প্রতিস্থাপন যদি আপনি জানেন যে তালিকাটি বিশাল নয়। তালিকা যদি হয় বিশাল: git ls-files --deleted | while read f; do git rm $f; done
অ্যান্ড্রু

2
@ অ্যান্ড্রু xargsসম্ভবত একটি বিশাল তালিকার জন্য কিছুক্ষণের চেয়ে বেশি দক্ষ, কারণ প্রতিবার এটি কার্যকর করার সময় এটি একাধিক যুক্তি পাস করে git rmgit rmপ্রতিটি সময় এটি কার্যকর হওয়ার সময় পাস হওয়া আর্গুমেন্টের সীমাবদ্ধ করতে, -nবিকল্পটি ব্যবহার করুন :git ls-files --deleted | xargs -n 15 git rm
Ajedi32

61
git rm test.txt

আপনি আসল ফাইলটি মুছে ফেলার আগে বা পরে।


7
এটি যখন কাজ করবে তখন আমি প্রায়শই নিজেকে টোন ফাইল মুছতে rmএবং পরে অনুশোচনা করতে দেখি।
কার্ল

4
কেন করা এর চেয়ে খারাপ git add -u? দেখে মনে হচ্ছে যে সমস্ত পরিবর্তনগুলি যুক্ত করার পরিবর্তে প্রতিশ্রুতিতে মুছে ফেলা নির্দিষ্ট ফাইলগুলি যুক্ত করা নিরাপদ হবে ।
ইয়ান ডান

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

2
@ রামশরণ না, কারণ এটি মোটেও তা করে না। এটি একটি একক ফাইল মুছে দেয়; ওপি বিশেষভাবে "সমস্ত" মুছে ফেলা ফাইলগুলির জন্য অনুরোধ করেছে।
আদম

1
@ রামশরণ না, এটিই মূল বিষয় - প্রায় সব ক্ষেত্রেই আপনি কেবল একটি ওয়াইল্ডকার্ড ব্যবহার করতে পারবেন না (কোনও ওয়াইল্ডকার্ড মিলবে না)। এই কারণেই মূল উত্তরটি আরও জটিল।
আদম

49

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

alias grma='git ls-files --deleted -z | xargs -0 git rm'

ফাইল সিস্টেম থেকে সরানো সমস্ত ফাইল মুছে ফেলা হিসাবে সূচীতে যুক্ত করা হয়।


39

এটি সত্যই গুরুত্বপূর্ণ তা নয়, তবে আমি নির্বাচিত উত্তরের সাথে একমত নই:

git add -u 

... যদি কাজের গাছের সাথে সম্পর্কিত ফাইলগুলি সরিয়ে ফেলা হয় তবে এটি সূচি থেকে ফাইলগুলি সরিয়ে ফেলবে, তবে এটি ট্র্যাক করা ফাইলগুলির পরিবর্তিত নতুন সামগ্রীগুলিও মঞ্চস্থ করবে।

git rm $(git ls-files --deleted)

... অন্যদিকে, ট্র্যাক করা মুছে ফেলা ফাইলগুলি কেবল আরএমএস করবে।

সুতরাং আমার দৃষ্টিতে উত্তরোত্তর আরও ভাল বিকল্প।


29

যদি সেগুলি একমাত্র পরিবর্তন হয় তবে আপনি কেবল তা করতে পারেন

git commit -a

সমস্ত পরিবর্তন প্রতিশ্রুতিবদ্ধ। এটি মুছে ফেলা ফাইল অন্তর্ভুক্ত করবে।


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

আপনি নীচে ভোট পেয়েছেন কারণ "-এ" কোনও গ্রহণযোগ্য সুইচ নয়, এটি "-এ"। আপনার উত্তর সম্পাদনা করা হচ্ছে।
শেহেরিয়ার

10
না, "-একটি" হয় একটি গ্রহণযোগ্য সুইচ, কারণ কমান্ড কমিট । "-A" একটি সুইচ হয় যোগ কিন্তু কমিট । আমি দেখতে পাচ্ছি যে আপনার প্রস্তাবিত সম্পাদনাটি ইতিমধ্যে বাতিল হয়ে গেছে।
চাঁদমাইজার

আপনি যদি প্রতিশ্রুতি দিচ্ছেন তবে মুছে ফেলা ফাইলটি হ'ল, সুইচটি যুক্ত করুন - খালি
বিলিচার্ডস

ত্রুটি, আসলে
গালি

20
git ls-files --deleted | xargs git rm 

শুধুমাত্র মুছে ফেলা ফাইল যুক্ত করার সেরা বিকল্প।

এখানে আরও কিছু বিকল্প রয়েছে।

git add .  => Add all (tracked and modified)/new files in the working tree.

git add -u => Add all modified/removed files which are tracked.

git add -A => Add all (tracked and modified)/(tracked and removed)/new files in the working tree.

git commit -a -m "commit message" - Add and commit modified/removed files which are tracked.

16

গিট অ্যাড ইউ

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

যদি কিছু না দেওয়া হয় তবে ডিফল্ট "" "; অন্য কথায়, বর্তমান ডিরেক্টরি এবং এর উপ-ডিরেক্টরিতে ট্র্যাক করা সমস্ত ফাইল আপডেট করুন।


শীর্ষ-ভোট প্রাপ্ত উত্তর ইতিমধ্যে ব্যবহার করতে বলেছে git add -u। আপনার উত্তরের অন্যান্য সমস্ত জিনিসপত্র কোথায় এসেছে? আপনার ডকুমেন্টেশনের সাথে লিঙ্ক করা উচিত এবং যদি তা হয় তবে এটির ব্লককোট।
দ্য ওয়ারিয়রনামফু

14

এই সহজ সমাধানটি আমার পক্ষে ভাল কাজ করে:

git rm $(git ls-files --deleted)

আমার মনে হয় আপনার বর্তমান কার্যকরী ডিরেক্টরিতে আপনার সর্বদা গিট শেল ব্যবহার করা উচিত
কর্মনির্দেশক

2
এটি দুর্দান্ত এবং সহজ তবে পুনরাবৃত্ত ফোল্ডারগুলির সাথে কাজ করে না।
DrB

@BehnazChangizi আমি এটা আছে মনে করি, stackoverflow.com/questions/1054044/...
হুসেম Badri

@ পিভিডিএল পথের মধ্যে স্বীকৃত স্থানগুলি হ'ল স্পেসিফিক সমস্যা
হউসেম বদ্রি

11

আপনি যদি এটি যুক্ত করতে চান তবে এটি করুন .gitconfig:

[alias]
  rma = !git ls-files --deleted -z | xargs -0 git rm

তারপরে আপনাকে যা করতে হবে তা চালিয়ে যেতে হবে:

git rma

1
এবং সেমিডি লাইন থেকেgit config --global alias.rmd '!git ls-files --deleted -z | xargs -0 git rm'
কেসি

9
git ls-files --deleted -z | xargs -0 git rm --cached

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

আপনার পসিক্স বৈকল্পিকের উপর নির্ভর করে আপনার ব্যবহারের প্রয়োজন হতে পারে xargs -0 -r : xargsনাল কন্টেন্টটি পাইপ করা হলে এটি করুণভাবে প্রস্থান করতে পারে cause

সম্পাদনা করুন: --cachedএবং --deletedপতাকাগুলি দুর্ঘটনাক্রমে মুছে ফেলা হয়নি এমন ফাইলগুলি মুছে ফেলার বিরুদ্ধে সুরক্ষার জন্য ব্যবহৃত হয়।


7

পরিবর্তিত এবং মোছা হয়েছে এমন ফাইলগুলি স্বয়ংক্রিয়ভাবে মঞ্চ করার জন্য কমান্ডকে বলুন, তবে আপনি গিটকে জানাননি এমন নতুন ফাইলগুলি প্রভাবিত হচ্ছে না:

-a
--all

git add . && git commit -m -a "Your commit"

অথবা

git add --all && git commit -m "Your commit"

1
গিট অ্যাড - সব && গিট কমিট-এম "আপনার কমিট" এটি উইন্ডোজ -7 এ গিট ব্যাশ কমান্ড শেল ব্যবহার করে আমার জন্য কাজ করেছে।
কুমারবেট

1
নিম্নলিখিত কমান্ডটি উইন্ডোজ -7 এ গিট ব্যাশ কমান্ড শেল ব্যবহার করে আমার জন্য কাজ করেছে: it গিট অ্যাড - অ্যান্ড অ্যান্ড অ্যান্ড গিট কমিট-এম "সম্পত্তি ফাইলগুলি মুছে ফেলুন" [মাস্টার 58c41ac] সম্পত্তি ফাইল সরান 1 ফাইল পরিবর্তন হয়েছে, 9 টি মুছে ফেলা (-)। .. তারপরে এই প্রতিশ্রুতিবদ্ধ পরিবর্তনগুলি দূরবর্তী সংগ্রহস্থলে ঠেকাতে চলেছে: it গিট পুশ অরিজিন .. বস্তু গণনা: 10, সম্পন্ন।
কুমারবেট

6

প্রক্রিয়া করার জন্য আপনার কাছে প্রচুর ফাইল থাকলেও নিম্নলিখিতগুলি কাজ করবে:

git ls-files --deleted | xargs git rm

আপনি সম্ভবত একটি মন্তব্য দিয়ে প্রতিশ্রুতিবদ্ধ করতে চাইবেন।

বিশদ জন্য, দেখুন: দরকারী গিট স্ক্রিপ্ট


6

-tআসলে কোন আদেশটি চালিত হচ্ছে তা দেখতে দয়া করে ব্যবহার করুন

আমি ঠিক তাই করার জন্য বীরেন্দ্রের উত্তরটি টুইট করেছি:

git ls-files --deleted -z | xargs -t -0 git rm

5

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

জেরেমির উত্তরটি বন্ধ করে দেওয়া, আমি এটি পেয়েছি:

git status |  sed -s "s/^.*deleted: //" | grep "\(\#\|commit\)" -v | xargs git rm
  1. ফাইলগুলির স্থিতি পান।
  2. মুছে ফেলা ফাইলগুলির জন্য, ফাইলটির নাম আলাদা করুন।
  3. # টি দিয়ে শুরু হওয়া সমস্ত রেখাগুলি, পাশাপাশি একটি স্থিতি রেখাও সরিয়ে ফেলুন যেখানে এতে "মুছে ফেলা" শব্দটি ছিল; এটি আসলে কী ছিল তা আমি মনে করি না এবং এটি আর নেই, সুতরাং বিভিন্ন পরিস্থিতিতে আপনাকে এটিকে সংশোধন করতে হতে পারে। আমি মনে করি এক্সপ্রেশনগুলির গোষ্ঠীকরণ একটি জিএনইউ-নির্দিষ্ট বৈশিষ্ট্য হতে পারে, তাই যদি আপনি গিন্টিলগুলি ব্যবহার না করেন তবে আপনাকে একাধিক grep -vলাইন যুক্ত করতে হতে পারে ।
  4. ফাইলগুলিতে পাস করুন git rm

এটি এখন একটি শেল ওরফে স্টিক করা ...


5

উল্লেখ্য যে

git add -u

মুছে ফেলার জন্য সরানো ফাইলগুলি পর্যায়ক্রমে, তবে আপডেটের জন্যও পরিবর্তিত ফাইলগুলি।

পরিবর্তিত ফাইলগুলি আনস্টেজ করতে আপনি করতে পারেন

git reset HEAD <path>

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


4
git commit -m 'commit msg' $(git ls-files --deleted)

আমি ইতিমধ্যে ফাইলগুলি মুছে ফেলার পরে এটি আমার পক্ষে কাজ করেছিল।


3

আমার একই এবং ব্যবহৃত গিট গুই "স্টেজ পরিবর্তিত" বোতামটি প্রয়োজন। এটি সব যোগ করে।

এবং "মঞ্চ পরিবর্তিত" পরে আমি "প্রতিশ্রুতিবদ্ধ" করেছি ...

সুতরাং আমার ওয়ার্কিং ডিরেক্টরি আবার পরিষ্কার।


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

1
অবগতির জন্য: এই উত্তর থেকে মার্জ করা হয়েছে stackoverflow.com/questions/1402776/...
Shog9

3
git rm $(git ls-files -d)

git ls-filesকমান্ড দ্বারা তালিকাভুক্ত সমস্ত ফাইল সরান (-d কেবল মুছে ফেলা ফাইলগুলি দেখান)। ফাইলের নাম বা পথের ফাঁকা জায়গা সহ ফাইলগুলির জন্য কাজ করে না, তবে মনে রাখা সহজ


2

তুমি ব্যবহার করতে পার git add -u <filenames> কেবল মুছে ফেলা ফাইলগুলি মঞ্চ ।

উদাহরণস্বরূপ, আপনি যদি ফাইলগুলি মুছে ফেলে থাকেন templates/*.tplতবে ব্যবহার করুনgit add -u templates/*.tpl

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


2

মুছে ফেলা ফাইলগুলি কমান্ড হিসাবে মজুত করার জন্য সিস্টেমের নাম যুক্ত করা হচ্ছে rm-all

ইউনিক্স alias rm-all='git rm $(git ls-files --deleted)'

উইন্ডোজ doskey rm-all=bash -c "git rm $(git ls-files --deleted)"

বিঃদ্রঃ

উইন্ডোজ bashইনস্টল করা প্রয়োজন।


2

(তবুও অন্য একটি পরিবর্তন)

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

git ls-files --deleted  | grep <folder-name> | xargs git rm


1

ভিজ্যুয়াল স্টুডিও প্রকল্পের জন্য

'git ls-files --deleted | sed 's/(.*)/"\1"/'| xargs git rm' 

যা কার্যকর যখন মুছে ফেলা ফাইল পাথ স্থান আছে


-1

আমি আজ অবধি সবচেয়ে নমনীয় সমাধানটি পেয়েছি

git cola

এবং মঞ্চস্থ করতে চাইলে মুছে ফেলা সমস্ত ফাইল নির্বাচন করুন।

(দ্রষ্টব্য আমি সাধারণত গিটে সমস্ত কমান্ডলাইন করি, তবে গিট হ্যান্ডলগুলি ফাইলগুলি কিছুটা বিশ্রী করে তোলে)।


ওয়াইল্ডকার্ডস আমার সাথে কাজ করছিল না git add -u path/to/my/deleted-files-pattern-*.ymlতাই এটি আমার পক্ষে সেরা উত্তর (সমস্ত মুছে ফেলা ফাইলগুলি স্টেজ করতে চাইছে না, তবে কয়েক শতাধিকের মধ্যে ৫০)।
mlncn
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.