git কিভাবে বর্তমান গিট কাজ গাছ থেকে স্থানীয়(অট্যাকড) ফাইল অপসারণ করতে?




গিটহাব (24)

আপনি কিভাবে আপনার বর্তমান কাজ গাছ থেকে untracked স্থানীয় ফাইল মুছে ফেলুন?



git-clean আপনি খুঁজছেন কি। এটি কাজ গাছ থেকে untracked ফাইল মুছে ফেলার জন্য ব্যবহৃত হয়।


আসলে মুছে ফেলার আগে মুছে ফেলা হবে তা জানতে:

git clean -d -n

এটা মত কিছু আউটপুট হবে:

Sample.txt মুছে ফেলতে হবে

পূর্ববর্তী কমান্ডের আউটপুট তালিকাভুক্ত সবকিছু মুছে ফেলতে:

git clean -d -f

এটা মত কিছু আউটপুট হবে:

Sample.txt মুছে ফেলা হচ্ছে


আপনি যদি 'git status' দ্বারা অনির্বাচিত হিসাবে তালিকাভুক্ত ফাইলগুলি মুছে ফেলতে চান

git stash save -u
git stash drop "[email protected]{0}"

আমি 'গিট ক্লিন' এটিকে পছন্দ করি কারণ 'গিট ক্লিন' গিট দ্বারা উপেক্ষা করা ফাইলগুলিকে মুছবে, তাই আপনার পরবর্তী বিল্ডটি সবকিছু পুনর্নির্মাণ করতে হবে এবং আপনিও আপনার আইডিই সেটিংস হারাতে পারেন।


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

মিশন: গিট রিপোজিটরি থেকে অপ্রয়োজনীয় ফাইল মুছে ফেলুন:

  1. আপনার স্থানীয় প্রকল্প ফোল্ডার থেকে অন্যত্র ফাইল এবং ফোল্ডার সরান
  2. এই ফাইল এবং ফোল্ডারগুলির জন্য ফোল্ডারগুলি সম্পর্কে। লিটনিওরে সমস্ত লাইন মুছুন
  3. গিট যোগ করুন।
  4. Git commit -m "অট্যাকড ফাইল থেকে সংগ্রহস্থল পরিষ্কারের"
  5. গিট ধাক্কা

সমস্ত ফাইল এবং ফোল্ডার সংগ্রহস্থল থেকে মুছে ফেলা হয়েছে।

যদি আপনি তাদের প্রয়োজন হলে localhost এ তাদের পুনরুদ্ধার করতে দেয়:

  1. আপনি স্থানীয় প্রকল্প ফোল্ডারে অস্থায়ী স্থানান্তরিত সমস্ত ফাইল এবং ফোল্ডারগুলি সরান
  2. এই ফাইল এবং ফোল্ডার সম্পর্কে সব লাইন ফিরে যান। Gitignore
  3. গিট যোগ করুন।
  4. Git commit -m "চেক বা ফাইল জিট রিপোজিটরিতে আবার প্রদর্শিত হচ্ছে না"
  5. গিট ধাক্কা

তুমি পেরেছ!


বিশেষ সাবডিরেক্টরি থেকে অপ্রচলিত ফাইল অপসারণ করার প্রয়োজন হলে,

git clean -f {dir_path}

এবং untracked dir / ফাইল মুছে ফেলা এবং উপেক্ষা উপেক্ষা ফাইল একত্রিত।

git clean -fxd {dir_path}

এর পরে আপনি শুধুমাত্র git status ফাইলগুলি সংশোধন করতে পারবেন।


git clean -f to remove untracked files from working directory.

আমি এখানে আমার ব্লগ, git-intro-basic-commands কিছু বুনিয়াদি আচ্ছাদিত করেছি


গিট ডক্স থেকে অপ্রচলিত ফাইলগুলি সরানোর জন্য প্রস্তাবিত কমান্ডটি গিট পরিচ্ছন্ন

জিট পরিষ্কার - কাজ গাছ থেকে untracked ফাইল সরান

প্রস্তাবিত পদ্ধতি: git clean -i ব্যবহার করে ইন্টারেক্টিভ মোড git clean -i যাতে আমরা এটির উপর নিয়ন্ত্রণ রাখতে পারি। বাকি উপলব্ধ বিকল্প দেখতে দিন।

উপলব্ধ বিকল্প:

git clean 
    -d -f -i -n -q -e -x -X (can use either)

ব্যাখ্যা:

1.- ডি

অট্যাকড ফাইল ছাড়াও অট্যাকড ডিরেক্টরি সরান। একটি অট্যাক্যাকড ডিরেক্টরি ভিন্ন জিট রিপোজিটরি দ্বারা পরিচালিত হলে, এটি ডিফল্টরূপে সরানো হয় না। যদি আপনি সত্যিই এই ধরনের ডিরেক্টরি মুছে ফেলতে চান তাহলে -f বিকল্পটি দুবার ব্যবহার করুন।

2. -এফ, --force

যদি জিট কনফিগারেশন পরিবর্তনশীল clean.requireForce মিথ্যাতে সেট না থাকে তবে G-C, -n অথবা -i দেওয়া না থাকলে গিট পরিচ্ছন্নতা চালাতে অস্বীকার করবে।

3. -i, - ইন্টারেক্টিভ

কী করা হবে এবং ইন্টারেক্টিভ ফাইল পরিষ্কার করা হবে তা দেখান। বিস্তারিত জানার জন্য "ইন্টারেক্টিভ মোড" দেখুন।

4. -N, - ড্রাই-রান

আসলে কিছু মুছে ফেলবেন না, শুধু কী করা হবে তা দেখান।

5. -q, - জলদি

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

6. -ই, - Exclude =

.Gitignore (প্রতি নির্দেশিকা) এবং $ GIT_DIR / info / বাদে পাওয়া যেগুলির পাশাপাশি, এই প্যাটার্নগুলিকে প্রভাব উপেক্ষা করার নিয়মগুলির সেটগুলিতেও বিবেচনা করুন।

7.-এক্স

.Gitignore (প্রতি নির্দেশিকা) এবং $ GIT_DIR / info / exclude থেকে পড়া মান উপেক্ষা উপেক্ষা নিয়মগুলি ব্যবহার করবেন না, তবে এখনও -e বিকল্পগুলির সাথে প্রদত্ত উপেক্ষা নিয়মগুলি ব্যবহার করবেন। এই বিল্ড পণ্য সহ, সমস্ত untracked ফাইল অপসারণ করতে পারবেন। এটি একটি পরিষ্কার বিল্ড পরীক্ষা করার জন্য একটি প্রিজাইন ওয়ার্কিং ডিরেক্টরি তৈরি করতে (সম্ভবত গিট রিসেটের সাথে যুক্ত করে) ব্যবহার করা যেতে পারে।

8.-এক্স

Git দ্বারা উপেক্ষা করা শুধুমাত্র ফাইল সরান। এটি স্ক্র্যাচ থেকে সবকিছু পুনর্নির্মাণের জন্য উপযোগী হতে পারে, তবে নিজে তৈরি ফাইলগুলি রাখুন।


zsh সঙ্গে oh-my-zsh গিট প্লাগইন মাধ্যমে যারা মহান উপাধি উপলব্ধ করা হয়। তারা পাশাপাশি bash ব্যবহার করা যেতে পারে।

gclean='git clean -fd'
gpristine='git reset --hard && git clean -dfx'

  • gclean untracked ফাইল ছাড়াও untracked ডিরেক্টরি মুছে ফেলা
  • gpristine হার্ড স্থানীয় পরিবর্তনগুলি পুনরায় সেট করুন, অট্যাকড ডিরেক্টরিগুলি, অটোক্রেড ফাইলগুলি সরিয়ে দিন এবং। gitignore (প্রতি ডিরেক্টরি) এবং $ GIT_DIR / info / exclude থেকে পড়া মান উপেক্ষা নিয়মগুলি ব্যবহার করবেন না, তবে এখনও -e বিকল্পগুলি দিয়ে দেওয়া উপেক্ষা নিয়মগুলি ব্যবহার করবেন না। । এই বিল্ড পণ্য সহ, সমস্ত untracked ফাইল অপসারণ করতে পারবেন। এটি একটি পরিষ্কার বিল্ড পরীক্ষা করার জন্য একটি প্রিজাইন ওয়ার্কিং ডিরেক্টরি তৈরি করতে (সম্ভবত গিট রিসেটের সাথে যুক্ত করে) ব্যবহার করা যেতে পারে

সহজ উপায় untracked ফাইল অপসারণ

সমস্ত অট্যাকড ফাইলগুলি সরাতে, সহজ উপায় তাদের সকলকে প্রথমে যুক্ত করা এবং নীচের হিসাবে রেপো পুনরায় সেট করা

git add --all
git reset --hard HEAD

একটি ভাল উপায় ব্যবহার করা হয়: গিট পরিষ্কার

git clean -d -x -f

এটি ডিরেক্টরিগুলি (-d) এবং git (-x) দ্বারা উপেক্ষা করা ফাইল সহ অট্যাকড ফাইলগুলি সরিয়ে দেয়।

এছাড়াও, -n মোডের জন্য dry-run বা -i সঞ্চালনের জন্য -f আর্গুমেন্টটি -n দিয়ে প্রতিস্থাপন করুন এবং এটি আপনাকে কী সরানো হবে তা বলবে।


আমি git stash push -u পছন্দ করি কারণ আপনি git stash pop সাথে তাদের পূর্বাবস্থায় ফিরিয়ে আনতে পারেন।

সম্পাদনা করুন: এছাড়াও আমি একটি স্ট্যাশে অট্যাক্টেড ফাইল দেখানোর উপায় খুঁজে পেয়েছি (উদাহরণস্বরূপ git show [email protected]{0}^3 ) https://.com/a/12681856/338986

EDIT2: git stash save push পক্ষে অব্যবহৃত হয়। ধন্যবাদ @ স্ক্রিপ্ট-নেকড়ে।


`Git clean` কমান্ড চালানোর সময় সতর্ক থাকুন।

সর্বদা প্রকৃত কমান্ড চালানোর আগে -n ব্যবহার করুন কারণ এটি আপনাকে কী ফাইলগুলি সরানো হবে তা দেখাবে।

git clean -n -d 
git clean -f -d

ডিফল্টরূপে, জিট git clean কেবল অযাচিত ফাইলগুলিকে সরিয়ে দেবে যা উপেক্ষা করা হয় না। আপনার। Gitignore বা অন্যান্য উপেক্ষা ফাইলগুলির একটি প্যাটার্নের সাথে মেলে এমন কোনও ফাইল সরিয়ে ফেলা হবে না। আপনি যদি সেই ফাইলগুলিও সরাতে চান তবে, আপনি পরিচ্ছন্ন কমান্ডে একটি- -x যোগ করতে পারেন।

git clean -f -d -x

পরিষ্কার কমান্ড সহ ইন্টারেক্টিভ মোড উপলব্ধ রয়েছে

git clean -x -i

বিকল্পভাবে

যদি আপনি 100% নিশ্চিত না হন যে আপনার অস্বীকৃত কাজটি মুছে ফেলা নিরাপদ, তবে আপনি পরিবর্তে স্ট্যাশিং ব্যবহার করতে পারেন

git stash --all

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

git stash drop // or clean

আমার জন্য শুধুমাত্র কাজ নিম্নলিখিত:

git clean -ffdx

অন্য সব ক্ষেত্রে, আমি কিছু সাবডিরেক্টরির জন্য "Skipping ডিরেক্টরি" বার্তা পেয়েছিলাম।


যদি অট্যাক্টেড ডিরেক্টরিটি নিজের (যেমন সাবডিউল) একটি গিট রিপোজিটরি হয়, তাহলে আপনাকে -ফ twice ব্যবহার করতে হবে:

git clean -d -f -f


ডিরেক্টরি অপসারণ করা হয় তা নিশ্চিত করতে git clean -f -d ব্যবহার করুন।

আপনি আপনার ফাইল সত্যিই git status সঙ্গে চলে গেছে কিনা তা পরীক্ষা করতে পারেন।


জিট সংগ্রহস্থল এবং recursively সব submodules পরিষ্কার করুন

নিম্নোক্ত কমান্ড বর্তমান গিট রিপোজিটরি এবং তার সমস্ত সাবমোডুলিকে পুনরাবৃত্তি করবে:

(git clean -d -x -f && git submodule foreach --recursive git clean -d -x -f)

git clean -f

বর্তমান জিট থেকে untracked ফাইল মুছে ফেলা হবে

git clean -fd

যখন আপনি ডিরেক্টরি এবং ফাইলগুলি সরাতে চান, তখন এটি কেবল অটোমেটেড ডিরেক্টরি এবং ফাইল মুছে ফেলবে


ঠিক আছে, অবাঞ্ছিত অট্যাকড ফাইল এবং ফোল্ডার মুছে ফেলা কমান্ড লাইনে জিট ব্যবহার করা সহজ, শুধু এটির মতো এটি করুন:

git clean -fd

এটি করার আগে ডাবল চেক করুন যেহেতু এটি কোন ইতিহাস না করে ফাইল এবং ফোল্ডার মুছে ফেলবে ...

এছাড়াও এই ক্ষেত্রে, -f বলের জন্য দাঁড়িয়েছে এবং -d ডিরেক্টরি জন্য দাঁড়িয়েছে ...

সুতরাং, যদি আপনি শুধুমাত্র ফাইল মুছে ফেলতে চান তবে আপনি কেবল -f ব্যবহার করতে পারেন:

git clean -f

আপনি যদি (ডিরেক্টরি) এবং ফাইল মুছে ফেলতে চান তবে আপনি কেবলমাত্র অটোমেটেড ডিরেক্টরি এবং ফাইলগুলি মুছে ফেলতে পারেন:

git clean -fd

এছাড়াও, আপনি git দ্বারা উপেক্ষা করা ফাইলগুলি অন্তর্ভুক্ত করার জন্য -x ফ্ল্যাগ ব্যবহার করতে পারেন। আপনি সবকিছু মুছে ফেলতে চাইলে এটি সহায়ক হবে।

এবং যোগ -i পতাকা যুক্ত করে, আপনাকে যেতে যেতে ফাইলগুলিকে মুছে ফেলার জন্য অনুমতি দেওয়ার অনুরোধ করে।

আপনি যদি নিশ্চিত না হন এবং প্রথমে জিনিসগুলি পরীক্ষা করতে চান, add -n পতাকাটি যোগ করুন।

সফলভাবে মুছে ফেলার পরে আপনি যদি কোনও প্রতিবেদন দেখতে না চান তাহলে -q ব্যবহার করুন।

আমি এটি আরো স্মরণীয় করতে নীচের চিত্রটি তৈরি করেছি, বিশেষ করে আমি অনেক লোককে বিভ্রান্ত করেছি -f ফোল্ডারটি কখনও কখনও পরিষ্কার করার জন্য অথবা কোনভাবেই এটি মেশান!



ব্যবহারকারী ইন্টারেক্টিভ পদ্ধতির:

git clean -i -fd

Remove .classpath [y/N]? N
Remove .gitignore [y/N]? N
Remove .project [y/N]? N
Remove .settings/ [y/N]? N
Remove src/com/arsdumpgenerator/inspector/ [y/N]? y
Remove src/com/arsdumpgenerator/manifest/ [y/N]? y
Remove src/com/arsdumpgenerator/s3/ [y/N]? y
Remove tst/com/arsdumpgenerator/manifest/ [y/N]? y
Remove tst/com/arsdumpgenerator/s3/ [y/N]? y

ইন্টারেক্টিভ জন্য -i
-ফোর্স জন্য
-d ডিরেক্টরি জন্য
-কে উপেক্ষা করা ফাইলগুলির জন্য (যদি প্রয়োজন হয় তবে যোগ করুন)

দ্রষ্টব্য: এটি কী করবে তা পরীক্ষা করতে -n বা --dry-run যোগ করুন।


অপ্রচলিত ফাইলগুলি সরাতে আপনাকে প্রথমে ফাইলগুলি দেখতে ক্লিন ব্যবহার করতে হবে যা পরিষ্কার করে প্রভাবিত হবে

git clean -fdn

এটি আপনাকে মুছে ফেলা হবে এমন ফাইলগুলির তালিকা প্রদর্শন করবে। আসলে ফাইলগুলি মুছে ফেলতে এখন এই কমান্ডটি ব্যবহার করুন:

git clean -fd

আমরা সহজে নীচের git মন্তব্য ব্যবহার করে বর্তমান গিট কাজ গাছ থেকে স্থানীয় অট্যাকড ফাইল মুছে ফেলতে পারেন।

git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]

উদাহরণ:

git reset --hard HEAD

লিংক:

  1. https://git-scm.com/docs/git-reset
  2. পূর্ববর্তী কমিটিতে ফিরে যেতে আমি কীভাবে 'গিট রিসেট - হেয়ার হেড' ব্যবহার করব?
  3. স্থানীয় রিপোজিটরি শাখাটি রিমোট রিপোজিটরি HEAD এর মত রিসেট করুন
  4. https://jwiegley.github.io/git-from-the-bottom-up/3-Reset/4-doing-a-hard-reset.html

এই repo + submodules মধ্যে সব অতিরিক্ত ফোল্ডার এবং ফাইল সরান

এটি তাজা ক্লোন হিসাবে একই অবস্থায় আপনি পায়।

git clean -ffdx

এই রেপোতে সমস্ত অতিরিক্ত ফোল্ডার এবং ফাইল সরান কিন্তু তার জমাটবদ্ধ নয়

git clean -fdx

শুধুমাত্র অতিরিক্ত ফোল্ডার সরান তবে ফাইল নয় (যেমন ফোল্ডার তৈরি করুন)

git clean -fd

অতিরিক্ত ফোল্ডার সরান + উপেক্ষা ফাইল (কিন্তু কোন নতুন সংযুক্ত ফাইল নেই)

যদি ফাইলটি উপেক্ষা করা হয় নি এবং এখনও চেক-ইন না থাকে তবে এটি স্থায়ী হয়। রাজধানী এক্স নোট করুন।

git clean -fdX

নতুন ইন্টারেক্টিভ মোড

git clean

আমি যা সবসময় ব্যবহার করি তা হল:

git clean -fdx

একটি খুব বড় প্রকল্পের জন্য আপনি এটি কয়েক বার চালাতে চান।





git-branch