উইন্ডোজের গিট সংগ্রহস্থলগুলিতে ডিরেক্টরি উপেক্ষা করা


1104

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


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

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

@ গ্যারেথ: যেহেতু খালি ফোল্ডারগুলি গিট দিয়ে ট্র্যাক করা হয় না, যদি বিষয়বস্তু উপেক্ষা করা হয়, ফোল্ডারটিও হবে, তাই না?
উপস্থাপিত

2
আমি কেবল উল্লেখ করেছি যেহেতু কিছু লোক লুকানো ফাইলগুলি (সাধারণত .gitkeep) যে ডিরেক্টরিটি রাখতে হবে তা নির্দেশ করতে ব্যবহার করে
গ্যারেথ

2
হয় /শেষ কি এটা তার একটি ডিরেক্টরির মধ্যে এটি যখন উপেক্ষা করা উচিত জানেন তোলে এ?
চার্লি পার্কার

উত্তর:


1593

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

dir_to_ignore/

আরও তথ্য এখানে


130
একটি উইন্ডোজ সেমিডি প্রম্পটে আপনি সঠিক ফাইলটি তৈরি করতে 'edit .gitignore' বা 'নোটপ্যাড .gitignore' ব্যবহার করতে পারেন।
জোয়ে গ্রিন

44
অথবা আপনি উইন্ডোজ গিট ব্যাশ কমান্ড প্রম্পট থেকে 'টাচ .গিটিগনোর' ব্যবহার করতে পারেন এবং এটি সঠিকভাবে নামক ফাইল তৈরি করবে যা পরে নোটপ্যাড বা এর মতো সম্পাদনা করতে পারে ...
এসজিবি

39
অথবা কেবল .gitignore নামে একটি ফাইল তৈরি করুন। এক্সপ্লোরার সহ এবং এটি নোটপ্যাড দিয়ে সম্পাদনা করুন (পিছনের বিন্দুটি সরানো হবে)। এইভাবে আপনাকে কমান্ড প্রম্পট ব্যবহার করতে হবে না।
পি

6
অথবা আপনি টার্মিনাল থেকে। Gitignore ভিম করতে পারেন। :)
মলিগেট

34
অথবা, যা সবচেয়ে দ্রুততম উপায় হওয়া সত্ত্বেও আশ্চর্যরূপে উল্লেখ করা হয়নি, কেবল কনসোলে "ইকো ফোল্ডার_টো_গাইনোর >> .gitignore" টাইপ করুন।
গডস্মিথ

205

ডিফল্টরূপে, উইন্ডোজ এক্সপ্লোরার .gitignoreপ্রকৃতপক্ষে ফাইলটির নাম প্রদর্শিত হবে .gitignore.txt

গিট ব্যবহার করবে না .gitignore.txt

এবং আপনি ফাইলটির নাম পরিবর্তন করতে পারবেন না .gitignore, কারণ উইন্ডোজ এক্সপ্লোরার মনে করে যে এটি নাম ব্যতিরেকে গিটিগনোর টাইপের একটি ফাইল।

নন কমান্ড লাইন সমাধান:

আপনি ".gitignore" এ কোনও ফাইলের নাম পরিবর্তন করতে পারেন , এবং এটি ".gitignore" তৈরি করবে

46
ওই কাজগুলো? আমি সর্বদা লোকদের কেবল নোটপ্যাড খোলার জন্য বলেছি এবং সেভ করুন কথোপকথনে ডাবলকোটিস দ্বারা বেষ্টিত ফাইলের নামটি টাইপ করুন, উদাহরণস্বরূপ ".gitignore"এবং এটি স্বয়ংক্রিয়ভাবে কোনও এক্সটেনশান যুক্ত না করে এটি সংরক্ষণ করে।
অ্যারোমাস্টার

9
ঝরঝরে। একটি পেছনের সময়কাল সহ কাজ করে। এক্সপ্লোরারটি শেষ সময়সীমা থেকে সরে যায়, ফলস্বরূপ ".gitignore" নামে একটি ফাইল তৈরি হয়। আমি মনে করি কোট পদ্ধতিটি আরও পরিষ্কার এবং বিস্মিত হওয়ার সম্ভাবনা কম।
ট্রায়ঙ্কো

3
বা, সংরক্ষণাগার হিসাবে সংলাপে ফাইলের ধরণটিকে "সমস্ত ফাইল ( )" এ পরিবর্তন করুন - তারপরে উইন্ডোজ কোনও এক্সটেনশন যুক্ত করবে না।
ওসাকা ওয়েবেবি

5
বা গিট ব্যাশে কেবল আপনার ফোল্ডারে "স্পর্শ .গিটাইনোর" টাইপ করুন
রায়জ্যাক্স

3
".gitignore."- এটা দুর্দান্ত কৌশল! আমি সবসময় .htaccessপাশাপাশি সমস্যা ছিল ...
ওবর্ম্ক ক্রোনেন

105

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

  1. .gitignore

    • ফোল্ডার .gitignoreছাড়াও আপনার সংগ্রহস্থলের গোড়ায় ফাইল স্থাপন করা .git(উইন্ডোজে, আপনি সত্যিকারের ফাইল এক্সটেনশানটি দেখেছেন তা নিশ্চিত করুন এবং তারপরে তৈরি করুন .gitignore.(খালি ফাইলের এক্সটেনশানটি শেষে পয়েন্ট দিয়ে))
    • গ্লোবাল কনফিগারেশন তৈরি করা ~/.gitignore_globalএবং git config --global core.excludesfile ~/.gitignore_globalএটি আপনার গিট কনফিগারেশনে যুক্ত করার জন্য চলছে

    দ্রষ্টব্য: পূর্বে ট্র্যাক করা ফাইলগুলি চালনা করে আনট্র্যাক করা যায় git rm --cached filename

  2. সংগ্রহস্থল বাদ না - স্থানীয় ফাইলগুলি যেগুলি ভাগ করে নেওয়া দরকার না, আপনি কেবল ফাইলের ধরণ বা ডিরেক্টরিটি ফাইলটিতে যুক্ত করুন .git/info/exclude। থিস বিধিগুলি প্রতিশ্রুতিবদ্ধ নয়, তাই তারা অন্য ব্যবহারকারীদের দ্বারা দেখা যায় না । আরও তথ্য এখানে

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


36
ভাল কাজ নির্দেশ করে git rm --cached <filename>। আপনি তৈরির পূর্বে.gitignore
মুরেরপাওয়ার

2
গিট আরএম - ক্যাচড <ফাইলিনে> .gitignore :) এর সাথে আমার যে সমস্যাটি ছিল তা ঠিক করেছে :)
জেরেমিফেলিক্স

1
হ্যাঁ গিট আরএম - ক্যাচ করা ফাইলের নাম একেবারে গুরুত্বপূর্ণ। এটি আমাকে পাগল করছে কারণ গিটটি এখনও ফাইলগুলি স্টেজ করে যাচ্ছিল আমি স্পষ্টভাবে বলেছি যে উপেক্ষা করা হবে (প্রাথমিক অঙ্গীকারের পরে গিটিগনোর তৈরি করা হয়েছে)। আপনাকে অনেক ধন্যবাদ!
পোটাইটো

1
আমার সমস্যার সমাধান। গিটটি আমার ল্যারাভেল রেপোতে বিক্রেতার ফোল্ডারটি সন্ধান করছিল যদিও আমি গিটিগনরে ভেন্ডার ফোল্ডার যুক্ত করেছিলাম। অনেক ধন্যবাদ.
জয়ন্ত

44

আমি একটি ফাইল তৈরি কিছু বিষয় ছিল উইন্ডোজ এক্সপ্লোরার একটি সঙ্গে .শুরুতে।

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


2
বা .শেষে কেবল একটি অতিরিক্ত যুক্ত করুন যাতে এক্সপ্লোরার ভাবনা থামিয়ে দেয় .gitignoreএটি হল এক্সটেনশন। তারপরে প্রবেশের সময় কোনও প্রসার ছাড়াই পেছনের বিন্দুটি কেবল খেয়ে যায় এবং আপনাকে .gitignore টিএল দিয়ে রেখে দেওয়া হয় ; ডিআর: নাম দেওয়ার চেষ্টা করুন .gitignore.=> আপনার সাথে শেষ হবে.gitignore
leerssej

43

গিটকে নির্দিষ্ট ফাইল বা ফোল্ডার উপেক্ষা করার নির্দেশ দেওয়ার জন্য আপনাকে .gitignoreফাইল তৈরি করতে হবে।

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

ren "New Text Document.txt" .gitignore

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


15
বা কেবল: প্রতিধ্বনি দির_তো_গাইনোর /> .গিটিগনোর
অলিভার

2
বা type nul > .gitignoreএকটি খালি ফাইল তৈরি করতে
কাস্ত্রো রায়

অথবা .gitignore.যখন ফাইলগুলির এক্সটেনশনগুলি আপনার উইন্ডোজ এক্সপ্লোরারে লুকানো না থাকে কেবল তখনই ফোন করুন
ভায়ারিস

22

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

$ 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

19

উইন্ডোজে স্ল্যাশ সহ একটি অতিরিক্ত ক্যাচ রয়েছে। .Gitignore এর সাথে একটি একক ডিরেক্টরি বাদ দিচ্ছেন

dir_to_exclude /

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

/

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

সমস্ত ডিরেক্টরি বাদ দিতে, আরও ভাল ব্যবহার করুন:

** /

দুটি পরপর দুটি তারকাচিহ্ন ডিরেক্টরি সামগ্রীকে বোঝায়।


15

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


আমি এই পদ্ধতির পছন্দ করি, আমি কেবল সেখানে প্রবেশের পথে যেতে পারি না, আমি মূল রেপোতে একটি ফোল্ডার উপেক্ষা করতে চাই, কীভাবে?
শিমি ওয়েটজ্যান্ডলার

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

13

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

**/build/output/Debug/

12

গিটে একটি সম্পূর্ণ ডিরেক্টরি উপেক্ষা করার জন্য, সবচেয়ে সহজ উপায় হ'ল লক্ষ্য তালিকাতে একটি ".gitignore ফাইল অন্তর্ভুক্ত করা যাতে সহজভাবে" * "থাকে।

একটি উদাহরণস্বরূপ উদাহরণ,

উদাহরণ সিস্টেম

/root/
    .gitignore
    /dirA/
        someFile1.txt
        someFile2.txt
    /dirB/
        .gitignore
        someFile3.txt
        someFile4.txt

লক্ষ্য

  • / dirB / এর বিষয়বস্তু উপেক্ষা করুন

শীর্ষ স্তর .gitignore (/root/.gitignore)

  • আপনার স্ট্যান্ডার্ড গিটিগনোরের তথ্যটি এখানেই যায়

উপেক্ষা করা ডিরেক্টরি .gitignore (/root/dirB.gitignore)

  • এই ফাইলটি কেবল '*' হিসাবে পড়ে এবং ডিরেক্টরিটি নিজেই এবং সমস্ত ফাইলকে পুরোপুরি উপেক্ষা করা হয়!

এবং এটি যে সহজ :)


10

যখন সমস্ত কিছু ব্যর্থ হয় তখন ফাইলটি সম্পাদনা করার চেষ্টা করুন

/.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/

আমি ফোল্ডারগুলিকে উপেক্ষা করার জন্য ফাইল এবং ডিরেক্টরিগুলির তালিকায় "সম্পদ" এবং "সংকলিত" যুক্ত করেছি।


1
আমি উইন্ডোজ 10 এ এটিম ব্যবহার করছি! এটি কাজ করছে! ধন্যবাদ দোস্ত!
পুতু দে

আমি আমার বর্তমান কনফিগারেশনটি দিয়ে অন্য সকলকে চেষ্টা করেছিলাম এবং এটি আমার চূড়ান্ত নির্দিষ্ট উত্তর।
এক্সেড্রেট

9

ইউনিক্সে:

touch .gitignore

উইন্ডোজে:

echo > .gitignore

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

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

আরও তথ্য: .gitignore


9

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

*
!.gitignore

এটা আমার জন্য কাজ করে.


2
এটি সর্বোত্তম উত্তর, এটি প্রকল্প স্থাপনা এবং রক্ষণাবেক্ষণের ক্ষেত্রে আরও বাড়তি সুবিধা নিয়ে আসে।
নিতিন ...


8

.gitignoreউইন্ডোজে ফাইলটি তুলতে গিটকে পেতে আমার কিছু সমস্যা হয়েছে । $GIT_DIR/info/excludeফাইল সবসময় যদিও কাজ মনে হয়।

তবে এই পদ্ধতির খারাপ দিকটি হ'ল $GIT_DIRডিরেক্টরিতে থাকা ফাইলগুলি চেক-ইন-এ অন্তর্ভুক্ত থাকে না এবং তাই ভাগ হয় না।

পিএস $GIT_DIRসাধারণত হিডেন ফোল্ডারের নাম হয়.git


হ্যাঁ, উইন্ডোজের গিটটি .gitignore সম্পর্কে চূড়ান্ত - ধন্যবাদ!
অ্যান্ডারসপ

6

আমি ধরে নিয়েছি সমস্যাটি হ'ল আপনার কার্যকারী গাছটি হ'ল:

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। আমি এই পরীক্ষার কেসে কেবল অলস ছিলাম।)


1
আপনি সম্ভবত .gitignore প্রতিশ্রুতিবদ্ধ করতে চান আপনি বিশেষত যেহেতু এতে পরিবর্তনগুলি ট্র্যাক করতে চান, এবং আপনার দলটিও (যদি আপনি এটির সাথে কাজ করছেন) is স্ট্যাকওভারফ্লো.com
ডেভ এভারিট

2
@ ডেভ এভারিট: ঠিক এই কারণেই আমি বলেছিলাম "অবশ্যই আপনি প্রতিশ্রুতিবদ্ধ থাকতে চান। গিটিগনোরও"।
লংগায়ার

6

উইন্ডোজ এবং ম্যাকের ক্ষেত্রে, আপনি যদি বর্তমান ডিরেক্টরিতে ফুল_ডাটা_ফোল্ডার নামের একটি ফোল্ডারটি উপেক্ষা করতে চান তবে আপনি এটি করতে পারেন:

echo Flower_Data_Folder >> .gitignore

যদি এটির একটি ফাইল থাকে data.txt:

echo data.txt >> .gitignore

যদি এটি "ডেটা / পাসওয়ার্ডস টেক্সট" এর মতো কোনও পথ হয়

echo "Data/passwords.txt" >> .gitignore. 

2

আমি একই সমস্যা ছিল। আমি লিনাক্স লোকের সাথে ভাগ করা সংগ্রহস্থল সহ একটি উইন্ডোজ সরঞ্জাম চেইনে কাজ করি এবং তারা আনন্দের সাথে প্রদত্ত ফোল্ডারে একই (কেস বাদে) নামের সাথে ফাইল তৈরি করে।

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

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

আমি যদি ফাইলগুলি গিটিংগোর করি তবে আমাকে .gitignore ফাইলটি ট্র্যাক না করার কথা মনে রাখতে হবে।

তবে আমি এখানে একটি ভাল উত্তর পেয়েছি:

http://archive.robwilkerson.org/2010/03/02/git-tip-ignore-changes-to-tracked-files/index.html


লিংক প্রদর্শিত হয় ভাঙা (এটা 'HTTPS' সংস্করণে প্রথম পুনঃনির্দেশ): "।। নিরাপদ সংযোগ ব্যর্থ হয়েছে একটি ত্রুটি archive.robwilkerson.org PR_END_OF_FILE_ERROR একটি সংযোগ সময় ঘটেছে"
পিটার মর্টেনসেন

0

.gitignoreআপনার প্রজেক্ট ফোল্ডারে কেবল ফাইল তৈরি করুন তারপরে এতে ফোল্ডারের নাম যুক্ত করুন প্রাক্তন:

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