কেবল অচিহ্নযুক্ত ফাইল যুক্ত করা হচ্ছে


168

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

সূচিগুলিতে স্বতন্ত্রভাবে চিহ্নিত না করে কেবল অচিহ্নযুক্ত ফাইল যুক্ত করার কোনও উপায় কি ? সহায়তা দস্তাবেজগুলিতে আমি স্পষ্ট কিছু দেখতে পাচ্ছি না, তবে সম্ভবত আমি এটি মিস করছি?

ধন্যবাদ।


1
"তালিকাভুক্ত ফাইলগুলি ব্যতীত সমস্ত কিছু সূচকে ফেলে দিন" সম্পর্কিত বিষয়ে .gitignoreবিশেষভাবে ইঞ্জিনিয়ারিং করা হয়েছে সেই উদ্দেশ্যে নয় git add -u
পেসারিয়ার

এছাড়াও, আপনি বর্তমানে ট্র্যাক করা সমস্তগুলি অপসারণ করার সময় তালিকার চিহ্নবিহীন ফাইল যুক্ত করতে বলছেন, বা আপনি বর্তমানে ট্র্যাক করা ফাইলগুলির উপরে (সমস্ত কিছু ট্র্যাক করা) তালিকারত্যাগযুক্ত ফাইলগুলি যুক্ত করতে বলছেন ?
পেসারিয়ার

উত্তর:


236

এটি দিয়ে সহজ git add -i। টাইপ করুন a("চিহ্নবিহীন অ্যাড করার জন্য"), তারপরে *("সকলের জন্য"), তারপরে q(প্রস্থান করতে) এবং আপনার কাজ শেষ।

একটি একক আদেশ দিয়ে এটি করতে: echo -e "a\n*\nq\n"|git add -i


4
আমি আশা করছিলাম যে এখানে কিছু কম, ভাল, ইন্টারেক্টিভ ছিল, তবে এটি ফাইল দ্বারা ফাইলের চেয়ে অবশ্যই ভাল better :-)
রব উইকারসন

34
echo -e "a\n*\nq\n"|git add -i
মাদুর

@ ম্যাট আপনাকে ধন্যবাদ তাই সম্পূর্ণ কমান্ড ----> গিট অ্যাড -ia * কি ??
বিকেএসপুরগাঁও

Argument list too long... নিকটবর্তী!
সাইমন

1
আমার জন্য গিট ২.২.১.০ এর সাথে তালিকৃত যোগ করা ছিল git add -iতারপরে সবার জন্য ছাড়তে হবে4*q
হ্যারি বি

36

git ls-files -o --exclude-standard চিহ্নবিহীন ফাইলগুলি দেয়, যাতে আপনি নীচের মতো কিছু করতে পারেন (বা এটিতে একটি নাম যুক্ত করুন):

git add $(git ls-files -o --exclude-standard)

1
ওরফে গউ = "গিট এলএস-ফাইল -ও - এক্সক্লুড-স্ট্যান্ডার্ড | xargs -i git যোগ '{}'" আমার পক্ষে কাজ করে
স্টিফান

git ls-file --help বেশ দরকারী পড়া: -o, --others Show other (i.e. untracked) files in the output
জোশুয়া কুঞ্জম্যান 5'12 এ 5'12

15

আপনি যা খুঁজছেন ঠিক তা নয়, তবে আমি এটি বেশ সহায়ক বলে মনে করেছি:

git add -AN

সূচীতে সমস্ত ফাইল যুক্ত হবে তবে তাদের সামগ্রী ছাড়া। যে ফাইলগুলি তালাবিহীন ছিল সেগুলি এখন ট্র্যাক করে এমন আচরণ করে। তাদের সামগ্রী প্রদর্শিত হবে git diffএবং আপনি এর সাথে ইন্টারেক্টিভভাবে যুক্ত করতে পারেন git add -p


এটি হ'ল আমি যা খুঁজছিলাম - সেই সাথে git commit -pনতুন ফাইলগুলির মধ্য দিয়ে চলতে দেয় ।
নিতসুजरी

11

আপনি এটি আপনার ~ / .gitconfig ফাইলে যুক্ত করতে পারেন:

[alias]
    add-untracked = !"git status --porcelain | awk '/\\?\\?/{ print $2 }' | xargs git add"

তারপরে, কমান্ডলাইন থেকে, কেবল চালান:

git add-untracked

আমি এই পদ্ধতির পছন্দ করি তবে এটি ফাইলের নামগুলিতে ফাঁকা স্থান পরিচালনা করে না।
পল কোকোলি

9

লোকেরা আউটপুটটি পাইপ করার পরামর্শ git ls-filesদিয়েছে git addতবে এমন ক্ষেত্রে ব্যর্থ হতে চলেছে যেখানে সাদা জায়গা বা গ্লোব অক্ষর যুক্ত ফাইলের নাম রয়েছে *

নিরাপদ উপায়টি হ'ল:

git ls-files -o --exclude-standard -z | xargs -0 git add

যেখানে গিটকে লাইন টার্মিনেটরগুলি -zব্যবহার করতে বলে \0এবং -0এক্সারগসকে একইটি বলে। এই পদ্ধতির একমাত্র অসুবিধাটি হ'ল -0বিকল্পটি মানহীন, সুতরাং xargsএটির কয়েকটি সংস্করণ সমর্থন করে।


6

git ls-filesবর্তমান ডিরেক্টরিতে ফাইলগুলি তালিকাভুক্ত করে। আপনি যদি গাছের যে কোনও জায়গা থেকে অচিহ্নযুক্ত ফাইলগুলি তালিকাবদ্ধ করতে চান তবে এটি আরও ভাল কাজ করতে পারে:

git ls-files -o --exclude-standard $(git rev-parse --show-toplevel)

গাছের মধ্যে সমস্ত চিহ্নবিহীন ফাইল যুক্ত করতে:

git ls-files -o --exclude-standard $(git rev-parse --show-toplevel) | xargs git add

6

আমি এটি চেষ্টা করেছিলাম এবং এটি কাজ করেছে:

git stash && git add . && git stash pop

git stashসমস্ত পরিবর্তিত ট্র্যাক হওয়া ফাইলগুলি কেবল পৃথক স্ট্যাকের মধ্যে রাখবে, তারপরে ফাইলগুলি বামে তালাবদ্ধ ফাইল থাকবে। তারপরে প্রয়োজনীয়তা অনুসারে git add .সমস্ত ফাইল আনক্র্যাক করা ফাইল মঞ্চস্থ করবে। শেষ পর্যন্ত, স্ট্যাক থেকে সমস্ত সংশোধিত ফাইল ফিরে পাওয়ার জন্যgit stash pop


0

আপনার যদি হাজার হাজার চিহ্নবিহীন ফাইল থাকে (উঘ, জিজ্ঞাসা করবেন না) তবে git add -iযুক্ত করার পরে কাজ করবে না *। আপনি উল্লেখ করে একটি ত্রুটি পাবেন Argument list too long

যদি আপনি তখন উইন্ডোতে থাকেন (# 2 :-) জিজ্ঞাসা করবেন না এবং সমস্ত চিহ্নবিহীন ফাইল যুক্ত করার জন্য পাওয়ারশেল ব্যবহার করার প্রয়োজন রয়েছে, আপনি এই আদেশটি ব্যবহার করতে পারেন:

git ls-files -o --exclude-standard | select | foreach { git add $_ }

আরও ঘনীভূত সংস্করণ:git ls-files -o --exclude-standard | % { git add $_ }
মার্কাসে

0

এখানে অনেক ভাল টিপস, তবে পাওয়ারশেলের ভিতরে আমি এটি কাজ করতে পারিনি।

আমি। নেট বিকাশকারী এবং আমরা মূলত এখনও উইন্ডোজ ওএস ব্যবহার করি কারণ আমরা নেট নেট এবং ক্রস প্ল্যাটফর্মটি এতটা ব্যবহার করি নি, তাই গিটের সাথে আমার প্রতিদিনের ব্যবহারটি একটি উইন্ডোজ পরিবেশে রয়েছে, যেখানে ব্যবহৃত শেলটি প্রায়শই পাওয়ারশেল হয় এবং গিট বাশ নয়

গিট সংগ্রহস্থলে আন-ল্যাক করা ফাইল যুক্ত করার জন্য অ্যালাইজড ফাংশন তৈরি করতে নিম্নলিখিত পদ্ধতি অনুসরণ করা যেতে পারে।

পাওয়ারশেলের আপনার file প্রোফাইল ফাইলের ভিতরে (যদি এটি অনুপস্থিত থাকে - আপনি চালাতে পারেন: নতুন আইটেম $ প্রোফাইল)

নোটপ্যাড $ প্রোফাইল

এবার এই পাওয়ারশেল পদ্ধতিটি যুক্ত করুন:

function AddUntracked-Git() {
 &git ls-files -o --exclude-standard | select | foreach { git add $_ }
}

File প্রোফাইল ফাইলটি সংরক্ষণ করুন এবং এটিকে পাওয়ারশেলে পুনরায় লোড করুন। তারপরে আপনার $ প্রোফাইল ফাইলটি পুনরায় লোড করুন:। $ প্রফাইল

এটি * নিক্স এনভায়রনমেন্টস আইএমএইচও-তে উত্স কমান্ডের অনুরূপ।

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

AddUntracked-গীত

এটি পাওয়ারশেল কনভেনশন অনুসরণ করে যেখানে আপনার ক্রিয়াপদ-বিশেষ্য রয়েছে।


0

গিট অ্যাড (এই ডিরেক্টরিতে সমস্ত ফাইল যুক্ত করুন)

গিট অ্যাড -ল (সমস্ত ডিরেক্টরিতে সমস্ত ফাইল যুক্ত করুন)

গিট অ্যাড-এন পরবর্তীগুলির জন্য তালিকাবদ্ধকরণের জন্য সহায়ক হতে পারে ....


git add -uতারাডাবিহীন নয় এমন পরিবর্তিত ফাইল যুক্ত করবে
তারাসোভিচ

-3

সমস্ত অচিহ্নযুক্ত ফাইল যুক্ত করতে গিট কমান্ড

গিট অ্যাড -এ

এছাড়াও যদি আপনি বিভিন্ন উপলভ্য বিকল্প সম্পর্কে আরও বিশদ পেতে চান তবে আপনি কমান্ডটি টাইপ করতে পারেন

গিট অ্যাড -i

প্রথম কমান্ডের পরিবর্তে, এর সাহায্যে আপনি নীচে প্রদর্শিত সমস্ত চিহ্নযুক্ত ফাইল যুক্ত করার বিকল্প সহ আরও বিকল্প পাবেন:

it গিট অ্যাড-আই সতর্কতা: এলএডি README.txt এ CRLF দ্বারা প্রতিস্থাপন করা হবে। আপনার কার্যক্ষম ডিরেক্টরিতে ফাইলটির মূল লাইন শেষ থাকবে। সতর্কতা: এলএফ প্যাকেজ.জসনে সিআরএলএফ দ্বারা প্রতিস্থাপন করা হবে।

* কমান্ডগুলি * 1: স্থিতি 2: আপডেট 3: পুনর্বার 4: আনট্রাকড 5 যুক্ত করুন: প্যাচ 6: ডিফ 7: প্রস্থান 8: সহায়তা এখন কী> ক

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