গিটটিতে gitignore কমান্ড কীভাবে ব্যবহার করবেন


119

আমি প্রথমবার গিট নিয়ে কাজ করছি আমি আমার শাখাটি গিথুবের উপরে ঠেলে দিয়েছি এবং এটি সমস্ত গ্রন্থাগার এবং নথিগুলি গিথুবগুলিতে ঠেলে দিয়েছে। এখন আমি কী করতে পারি এবং আবার একই ভুল এড়াতে আমি গিটিগনোর কমান্ডটি কীভাবে ব্যবহার করতে পারি।


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

আমি উবুন্টুতে আছি আপনি কি দয়া করে গিট রুট ডিরেক্টরিটির পথটি বলতে পারবেন
user1559230

2
আপনি যে ডিরেক্টরিটি ব্যবহার করেছেন এটি এটি git init.gitডিরেক্টরি সেখানে অবস্থিত।
একাকী ওয়েলক্রোলার

2
যারা kwno gitignore কীভাবে ব্যবহার করবেন তা না জন্য - এ যান gitignore.io আপনি সব সরঞ্জাম আপনি ব্যবহার করছেন টাইপ করতে পারেন (Symfony, CakePHP, ZendFramework, ওয়ার্ডপ্রেস, ঘোঁৎ ঘোঁৎ, মহিমান্বিত টেক্সট, NetBeans, ইত্যাদি, আপনি ড্রিল পেতে ...) এবং এটি আপনার জন্য গিট উপেক্ষা ফাইল তৈরি করবে। আপনি যদি গিটিগনোর কীভাবে ব্যবহার করতে জানেন না তবে আমি মনে করি যে এটি শেখার সর্বোত্তম উপায়টি হ'ল কিছু ভাল ব্যবহারের ক্ষেত্রে উদাহরণ (যেমন গিটিগনোর.ওর দ্বারা উত্পন্ন উত্সের মতো at ​​আপনি যদি সেমিডি লাইন থেকে এটি ব্যবহার করতে চান) :) এই টিউটোরিয়াল দেখুন vimeo.com/70609819
DevWL

উত্তর:


162

সুতরাং আপনি যা বলেছিলেন তার উপর ভিত্তি করে এই ফাইলগুলি লাইব্রেরি / ডকুমেন্টেশন যা আপনি মুছতে চান না তবে এটিতে চাপ দিতে চান না github। ধরা যাক আপনি ফোল্ডারে আপনার প্রকল্প আছে your_projectএবং ডক ডিরেক্টরি: your_project/doc

  1. এটি প্রকল্প ডিরেক্টরি থেকে সরান (আসলে এটি মুছে ফেলা ব্যতীত): git rm --cached doc/*
  2. যদি আপনি ইতিমধ্যেই একটি না থাকে তাহলে .gitignore, আপনি আপনার প্রকল্পের ফোল্ডার এক অধিকার ভিতরে করতে পারেন: project/.gitignore
  3. doc/*.Gitignore মধ্যে রাখুন
  4. প্রতিশ্রুতিবদ্ধ করার জন্য ফাইলটি স্টেজ করুন: git add project/.gitignore
  5. সমর্পণ git commit -m "message"
  6. আপনার পরিবর্তনকে এতে চাপ দিন github

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

আপনার উত্তরের জন্য ধন্যবাদ. প্রতিশ্রুতি দেওয়ার আগে আমাকে গিট অ্যাড চালাতে হয়েছিল
ইউজার 1559230

4
হাই, গিটিগনোর কেবল একটি সরল পাঠ্য ফাইল। এটি আসলে .gitignore (DOTgitignore)। গিটে উপেক্ষা করতে চান এমন ফাইল / ফাইলের নাম লিখুন, প্রতি লাইনে একটি। উদাহরণ: sujee.net/tech/articles/gitignore
u19964


42

আপনার যদি .gitignore ফাইল না থাকে তবে প্রথমে ব্যবহার করুন:

touch .gitignore

তারপরে আপনার gitignore ফাইলটিতে লাইন যুক্ত করার জন্য এই আদেশটি:

echo 'application/cache' >> .gitignore

নতুন লাইন সম্পর্কে সতর্কতা অবলম্বন করুন


touchপ্রথমে ফাইলের দরকার নেই । ফাইলটি ইতিমধ্যে বিদ্যমান না থাকলে এর >>সমার্থক >echoআউটপুট শেষে একটি নতুন লাইন সংযোজন। আপনি এটি দিয়ে থামাতে পারেন -n। আপনি বিভিন্ন উপেক্ষা প্রয়োজন, নয়তো বিভিন্ন এত প্রতিধ্বনি, অথবা ব্যবহার করবেন তাহলে -e, নিম্নলিখিত হিসাবে: echo -e "**/cache/\n**.pyc" >> .gitignore। ফোল্ডারে খনন করা সমস্ত ফাইল পুনরাবৃত্তভাবে ডাবল অস্ট্রিকের সাথে মেলে। /সেক্ষেত্রে ফোল্ডারগুলির শেষে ব্যবহার করুন।
mazunki

1
@ অ্যান্ড্রু tl; ডাঃ: প্রতিটি উপেক্ষা করা ফাইল যুক্ত করুন echo "file_to_be_ignored" >> .gitignore, অন্য কিছু করার দরকার নেই। /হিসাবে ফোল্ডারের নাম শেষ করুন echo "**/modules/" >> .gitignore
মাজুনকি

কেন আমার মন্তব্য মুছে ফেলা হয়েছে
এন্ড্রু

12

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

তেমনি, আপনি গভীরতর কাঠামো বা একটি নির্দিষ্ট উপসেটে নির্দিষ্ট ফাইলগুলিকে "আনগেইনর" করতে পারেন (যেমন, আপনি * .log উপেক্ষা করে তবে গুরুত্বপূর্ণ.লগটি এখনও ট্র্যাক করতে চান) শুরু করে নিদর্শনগুলি নির্দিষ্ট করে !। উদাহরণ:

*.log !important.log

সমস্ত লগ ফাইল অগ্রাহ্য করবে তবে গুরুত্বপূর্ণ.লগ নামের ফাইলগুলি ট্র্যাক করবে

যদি আপনি ফাইলগুলি ট্র্যাক করে থাকেন যা আপনি বোঝাতে চেয়েছিলেন, সেগুলি উপেক্ষা করুন, মুছে ফেলুন, আপনার প্যাটার্নটি যোগ করুন .gitignore ফাইল এবং সমস্ত পরিবর্তন যুক্ত করুন

# delete files that should be ignored, or untrack them with 
# git rm --cached <file list or pattern>

# stage all the changes git commit
git add -A 

এখন থেকে আপনার সংগ্রহস্থলগুলিতে সেগুলি ট্র্যাক করা হবে না।

আপনি যদি নিজের ইতিহাসটি পরিষ্কার করতে চান তবে আপনি এটি করতে পারেন

# if you want to correct the last 10 commits
git rebase -i --preserve-merges HEAD~10 

তারপরে প্রতিটি কমিট eবা এর সাথে চিহ্নিত করুন edit। পরিকল্পনাটি সংরক্ষণ করুন। এখন গিট আপনাকে ই এর সাথে চিহ্নিত প্রতিটি প্রতিশ্রুতিতে থামানো আপনার ইতিহাস পুনরায় খেলবে। আপনি চান না এমন ফাইলগুলি এখানে মুছে ফেলুন git add -Aএবং তারপরে git rebase --continueআপনার কাজ শেষ হওয়া পর্যন্ত। আপনার ইতিহাস পরিষ্কার হবে। নিশ্চিত করুন যে আপনি সহকর্মীদের বলছেন যেহেতু আপনাকে জোর করে চাপ দিতে হবে এবং তারা এখনও যা চাপায়নি সেগুলি তাদের ফিরিয়ে দিতে হবে।


8

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

*~

আপনি যদি আপনার শাখা থেকে অযাচিত ফাইলগুলি সরাতে চান তবে আপনি ব্যবহার করতে পারেন git add -Aযা " কার্যকারী গাছের মধ্যে থাকা ফাইলগুলি সরিয়ে দেয় "।

দ্রষ্টব্য: আমি যাকে "গিট রুট ডিরেক্টরি" বলেছিলাম সেটি হ'ল ডিরেক্টরি যা আপনি git initপ্রথমবার ব্যবহার করেছিলেন। এটি .gitডিরেক্টরি যেখানে আপনি খুঁজে পেতে পারেন ।


আমি চাই না এমন ইতিমধ্যে ধাক্কা দেওয়া ফাইলগুলির কী হবে
ব্যবহারকারী 1559230

4

আপনার কাছে .gitignore ফাইল না থাকলে। আপনি একটি নতুন তৈরি করতে পারেন

touch .gitignore

এবং .gitignore ফাইলে নীচের কমান্ডটি প্রবেশ করে আপনি একটি ফোল্ডার বাদ দিতে পারেন

/folderName

এই ফাইলটি আপনার গিট স্টোরের মধ্যে ঠেলাও যাতে কোনও নতুন ব্যক্তি যখন আপনার প্রকল্পটি ক্লোন করে তখন তাকে আবার সেই ফাইলটি যুক্ত করতে হবে না


2

গিটিগনোর গিট ব্যবহার করার বিভিন্ন উপায় রয়েছে

  • নির্দিষ্ট ফাইলের নাম দ্বারা নির্দিষ্ট করা। উদাহরণস্বরূপ, একটি ফাইল উপেক্ষা
    readme.txt নামে , কেবলমাত্র .gitignore ফাইলটিতে readme.txt লিখতে হবে।
  • আপনি ফাইল এক্সটেনশনের নামও লিখতে পারেন। উদাহরণস্বরূপ, থেকে
    সমস্ত .txt ফাইল উপেক্ষা করার জন্য, * .txt লিখুন।
  • আপনি একটি সম্পূর্ণ ফোল্ডার উপেক্ষা করতে পারেন। উদাহরণস্বরূপ, আপনি
    ফোল্ডারের নামযুক্ত পরীক্ষাকে উপেক্ষা করতে চান । তারপরে কেবল ফাইল / টেস্টে লিখুন।

কেবল একটি .gitignore ফাইল তৈরি করুন এবং আপনি কোনও নমুনা gitignore ফাইল উপেক্ষা করতে চান তা লিখুন:

# NPM packages folder.
node_modules

# Build files
dist/

# lock files
yarn.lock
package-lock.json

# Logs
logs
*.log
npm-debug.log*

# node-waf configuration
.lock-wscript

# Optional npm cache directory
.npm

# Optional REPL history
.node_repl_history

# Jest Coverage
coverage

.history/

গিট ডকুমেন্টেশন গিটিগনোরে আপনি আরও সন্ধান করতে পারেন


1

আমার ম্যাকে আমি এই ফাইলটি পেয়েছি .. এটি .gitignore_global আমার হোম ডিরেক্টরিতে লুকানো ছিল তাই ls -altrএটি দেখার জন্য একটি করণীয় ।

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

 *~
.DS_Store
.project
.settings
.classpath
.metadata

আমি যখন আমার প্রকল্প ফোল্ডারে .gitignore ফাইলটি রাখি তখন এটি আমার স্থানীয়ভাবে প্রকল্পটি গ্রহন করে। আপনি কি জানেন যে এটি কেন ঘটতে পারে এবং কীভাবে এটি প্রতিরোধ করা যায় ?? আপাতত আমি .gitignore থেকে দূরে থাকছি।
জেসিবয়েড

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