windows - উইন্ডোজের Git repos ডিরেক্টরির মধ্যে উপেক্ষা





gitignore git-bash msysgit (15)


আপনার প্রকল্পের ডিরেক্টরির মধ্যে। .gitignore নামের একটি ফাইল তৈরি করুন। ডিরেক্টরির মধ্যে ডিরেক্টরি নাম প্রবেশ করে ডিরেক্টরি উপেক্ষা (একটি স্ল্যাশ সংযুক্ত সঙ্গে):

dir_to_ignore/

here আরো তথ্য।

কিভাবে উইন্ডোজ এ msysgit ব্যবহার করে আমি Git ডিরেক্টরিতে ডিরেক্টরি বা ফোল্ডার উপেক্ষা করতে পারি?




আপনি যদি সাব ফোল্ডারগুলি বাদ দেওয়ার প্রয়োজন হয় তবে আপনি কেবলমাত্র কোনও উপ-নির্দেশিকা বাদ দেওয়ার জন্য ** ওয়াইল্ডকার্ড ব্যবহার করতে পারেন।

**/build/output/Debug/



মনে হচ্ছে ফাইল এবং ডিরেক্টরি উপেক্ষা করার জন্য দুটি প্রধান উপায় রয়েছে:

  1. .gitignore

    • .git ফোল্ডারের পাশাপাশি আপনার .git root .gitignore ফাইল স্থাপন করা। (উইন্ডোতে নিশ্চিত করুন যে আপনি সঠিক ফাইল এক্সটেনশানটি .gitignore. এবং তারপর .gitignore. (ফাঁকা ফাইল এক্সটেনশানটি শেষ করার শেষ পর্যায়ে)
    • গ্লোবাল কনফিগারেশন মেকিং ~/.gitignore_global এবং চলমান git config --global core.excludesfile ~/.gitignore_global আপনার গিট কনফিগারেশন এ যোগ করার জন্য

    দ্রষ্টব্য: আগে ট্র্যাক করা ফাইলগুলি git rm --cached filename চালানো ছাড়াই অচিহ্নিত করা যেতে পারে

  2. Repo exclude - স্থানীয় ফাইলগুলির জন্য ভাগ করার প্রয়োজন নেই এমন ফাইলের জন্য আপনি ফাইলের প্যাটার্ন বা ডিরেক্টরিটি ফাইলটিতে যুক্ত করুন। .git/info/exclude । থিসিস নিয়ম অনুমোদিত হয় না, তাই অন্যান্য ব্যবহারকারীদের দ্বারা here আরো তথ্য দেখা যায় না

[আপডেট] উপেক্ষা করা ফাইল তালিকা ব্যতিক্রম ব্যতিক্রম, এই প্রশ্ন দেখুন




অন্য সব ব্যর্থ হলে ফাইল সম্পাদনা করার চেষ্টা করুন

/.git/info/exclude

এবং ফাইলের শেষে আপনি যে ডিরেক্টরীগুলি চান তা যোগ করুন:

# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
assets/
compiled/

আমি ফোল্ডার এবং "ডিরেক্টরি" তালিকাভুক্ত করা ফাইল এবং ডিরেক্টরি তালিকায় যোগ করা।




আমি একটি উইন্ডোজ এক্সপ্লোরার মধ্যে একটি ফাইল তৈরি কিছু সমস্যা ছিল। প্রথমেই.

কমান্ডএলেলে যেতে এবং "সম্পাদনা" ব্যবহার করে একটি নতুন ফাইল তৈরি করা হয়েছে।




উইন্ডোজ মধ্যে slashes সঙ্গে একটি অতিরিক্ত ধরা আছে। .Gitignore সঙ্গে একটি একক ডিরেক্টরি বাদে

dir_to_exclude /

সম্ভবত কাজ করবে, কিন্তু সব ডিরেক্টরি বাদ দিয়ে

/

আপনার ডিরেক্টরির মধ্যে স্পেসগুলির (যেমন my file.txt ) ফাইলের নাম থাকলে আপনার সমস্যাগুলি my file.txt : Git bash ব্যাকস্ল্যাশ (যেমন my\ file.txt ) সহ এই স্পেসগুলি থেকে পালিয়ে যায় এবং উইন্ডোজের জন্য my\ file.txt / এবং \ মধ্যে পার্থক্য করে না।

সব ডিরেক্টরি ভাল ব্যবহার করার জন্য:

** /

দুই consecutive asteriscs ডিরেক্টরি বিষয়বস্তু সংকেত।




কিছু ফাইল বা ফোল্ডার উপেক্ষা করতে .gitignore নির্দেশ দিতে, আপনাকে .gitignore ফাইল তৈরি .gitignore হবে।

কিন্তু উইন্ডোজ এক্সপ্লোরারে আপনাকে ফাইলটির জন্য একটি নাম সরবরাহ করতে হবে, আপনি শুধু এক্সটেনশন দিয়ে ফাইল তৈরি করতে পারবেন না, কৌশলটি খালি পাঠ্য ফাইল তৈরি করে এবং কমান্ড প্রম্পটে যান এবং ফাইলটির নাম। .gitignore পরিবর্তন করুন।

ren "New Text Document.txt" .gitignore

এখন আপনার পছন্দের টেক্সট এডিটর দিয়ে ফাইলটি খুলুন এবং আপনি যে ফাইল / ফোল্ডার নামগুলি উপেক্ষা করেন তা যুক্ত করুন। আপনি এই *.txt মত ওয়াইল্ডকার্ড ব্যবহার করতে পারেন

এটা আপনার প্রশ্নের উত্তর আশা করি




আপনি বিষয়বস্তু সহ ".gitignore" ফাইল তৈরি করতে পারেন:

*
!.gitignore

এটা আমার এবং simples জন্য কাজ করে।




ইউনিক্সে:

touch .gitignore

উইন্ডোজ এ:

echo > .gitignore

টার্মিনালে কার্যকর এই কমান্ড বর্তমান অবস্থানে একটি .gitignore ফাইল তৈরি করবে।

তারপরে শুধু এই .gitignore ফাইলটি যুক্ত করুন (উদাহরণস্বরূপ নোটপ্যাড ++ ব্যবহার করে) কোন ফাইল বা ফোল্ডারগুলি উপেক্ষা করা উচিত। আপনার পরিবর্তন সংরক্ষণ করুন। এটাই :)

আরো তথ্য: https://www.atlassian.com/git/tutorials/saving-changes/gitignore




যদি আপনি একটি ফোল্ডার বজায় রাখতে চান এবং এটির ভিতরে থাকা ফাইলগুলি না চান তবে সামগ্রীতে "*" দিয়ে ফোল্ডারে ".gitignore" ফাইলটি রাখুন। এই ফাইলটি সংগ্রহস্থল থেকে সমস্ত সামগ্রী উপেক্ষা করবে। কিন্তু। .gitignore আপনার repo অন্তর্ভুক্ত করা হবে।

$ git add path/to/folder/.gitignore

আপনি যদি খালি ফোল্ডার যুক্ত করেন তবে আপনি এই বার্তাটি পাবেন। (Gitignore লুকানো ফাইল)

The following paths are ignored by one of your .gitignore files:
path/to/folder/.gitignore
Use -f if you really want to add them.
fatal: no files added

সুতরাং, যোগ করার জন্য "-f" ব্যবহার করুন:

$ git add path/to/folder/.gitignore -f



এছাড়াও আপনার \.git\info প্রোজেক্ট ডিরেক্টরিতে ফাইলটি অন্তর্ভুক্ত করা হয় যা কার্যকরভাবে। .gitignore (আমার মনে হয়) হিসাবে একই জিনিস। আপনি যে উপেক্ষা করতে ফাইল এবং ডিরেক্টরি যোগ করতে পারেন।




উইন্ডোজটিতে জিগিনগোর ফাইলটি পিকআপ করার জন্য আমি কিছু সমস্যা পেয়েছি। $ GIT_DIR / info / exclude ফাইলটি সর্বদা কাজ করে বলে মনে হচ্ছে। এই পদ্ধতির নেতিবাচক দিকটি, তবে, $ GIT_DIR ডিরেক্টরিতে ফাইলগুলি চেক ইনে অন্তর্ভুক্ত করা হয় না এবং তাই ভাগ করা হয় না।

(ps $ GIT_DIR সাধারণত .git নামে লুকানো ফোল্ডার)




আমারও অনুরূপ সমস্যা ছিল, আমি উইন্ডোজ টুল শৃঙ্খলে কাজ করি, লিনাক্স ছেলের সাথে ভাগ করা রেপো সহ, তারা হ্যালোভাবে একটি নির্দিষ্ট ফোল্ডারে একই নাম [কেস বাদে] ফাইল তৈরি করে।

প্রভাবটি আমি রেপো ক্লোন করতে পারি এবং তাড়াতাড়ি কয়েক ডজন 'সংশোধিত' ফাইল রয়েছে যা যদি আমি চেক করে থাকি, তাহলে ক্ষতির সৃষ্টি হবে।

আমার কেস উইন্ডোজ সেট সংবেদনশীল এবং জিট ক্ষেত্রে উপেক্ষা করা আছে কিন্তু এটি এখনও ব্যর্থ হয় (win32 api দৃশ্যত কল)।

যদি আমি ফাইলগুলো জিটিগিন করি তবে আমাকে জিগিনগোর ফাইলটি ট্র্যাক করতে হবে না।

কিন্তু আমি এখানে একটি ভাল উত্তর খুঁজে পেয়েছি http://archive.robwilkerson.org/2010/03/02/git-tip-ignore-changes-to-tracked-files/index.html

ক্রিস




আমি আপনার কাজ গাছ মত সমস্যা সমস্যা অনুমান:

a-cache/foo
a-cache/index.html
b-cache/bar
b-cache/foo
b-cache/index.html
.gitignore

... .gitignore সঙ্গে আপনি বর্ণনা। এটি আপনাকে git status আউটপুট প্রদান করবে:

$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   .gitignore
#   a-cache/
#   b-cache/

... index.html ফাইলগুলি এখনো রিপোজিটরিতে যোগ করা হয়নি। (গিট দেখায় যে ক্যাশে ডিরেক্টরিগুলিতে অজানা ফাইল রয়েছে, তবে শুধুমাত্র ডিরেক্টরিগুলি রিপোর্ট করে।) এটি ঠিক করার জন্য, আপনি index.html ফাইলগুলি যোগ করেছেন এবং প্রতিশ্রুতিবদ্ধ করেছেন তা নিশ্চিত করুন:

git add *cache/index.html
git commit -m "Adding index.html files to the cache directories"

... এবং আপনার git status তারপর দেখতে হবে:

$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   .gitignore
nothing added to commit but untracked files present (use "git add" to track)

(স্পষ্টতই আপনি করতে চান। .gitignore পাশাপাশি, আমি শুধু এই পরীক্ষার ক্ষেত্রে অলস ছিল।)




আমি একই সমস্যা ছিল এবং কিছু কারণে, এমনকি একটি git clean -f -d এটা করতে হবে না। এখানে কেন: কিছু কারণে, যদি আপনার ফাইলটি গিট দ্বারা উপেক্ষা করা হয় (একটি। জিটিগেনোর এন্ট্রির মাধ্যমে, আমি অনুমান করি), এটি এখনও পরবর্তী টান দিয়ে এটি ওভাররাইট করার বিষয়ে বিরক্ত হয় তবে একটি পরিষ্কার এটি মুছে ফেলবে না, যতক্ষণ না আপনি add- -x





windows git gitignore git-bash msysgit