গিট কীভাবে কোনও ফাইলকে বাইনারি হিসাবে গণ্য করব?


104

একটি মাঝারি আকারের প্রকল্পের সাথে সমস্যা হচ্ছে যেখানে ভিজ্যুয়াল স্টুডিও প্রকল্প ফাইলগুলি গিটকে পাঠ্য হিসাবে বিবেচনা করার কারণে এবং মার্জ করার কারণে সমস্যা বজায় রাখে। আমি কেবল ফাইলটি বাইনারি হিসাবে সেট করতে চাই যাতে গিট এই ফাইলগুলিকে আর স্বয়ংক্রিয়ভাবে মার্জ করে না।

এই কাজ করতে একটি উপায় আছে কি?


2
তবে ভিজ্যুয়াল স্টুডিও প্রকল্প ফাইলগুলি পাঠ্য ফাইল এবং একত্রীকরণের দরকার নেই?
সিবি বেইলি

1
@ চারলেস বেইলি তারা পর্যায়ক্রমে আপনার সমস্ত বিল্ড আপকে স্ক্রু করে সবচেয়ে খারাপতম পথে মিশে যাবে। আমি এক্সএমএলটির সাথে গলগল করতে চাই না, আমি নিজেই নতুন ফাইল যুক্ত করতে বা সম্ভবত কোনও এক্সএমএল-ডিফিংয়ের সরঞ্জাম চালনা করতে বলার অনুরোধ জানাতে চাই যা কীভাবে এটি সঠিকভাবে পরিচালনা করতে পারে knows
michael.bartnett

1
@ মাইকেল: বার্টনেট: আপনি যদি একত্রিত হন তবে অবশ্যই?
সিবি বেইলি

1
@ চারলেস বেইলি অবশ্যই যদি আমি ম্যানুয়ালি মিশে যাই তবে এটি কোনও সমস্যা নয়। তবে এটি ম্যানুয়ালি একত্রীকরণ করার মতো কিছু নয়। এটি সাধারণত একটি বিল্ড আইটেম যোগ / অপসারণ / সম্পাদনা ... যা সম্পূর্ণ স্বয়ংক্রিয়ভাবে মার্জযোগ্য, তবে লাইন পদ্ধতিতে সাধারণ ডিফ দ্বারা নয়। পরীক্ষা করে দেখুন এই উপস্থাপনাটি ধারণা সম্পর্কে আরো জানার জন্য।
michael.bartnett

@ michael.bartnett: এর পরে আরও ভাল একত্রিত ড্রাইভার সেটআপ করুন। আমি যে পয়েন্টটি করছি (10 মাস আগে) তা হ'ল প্রকল্প ফাইলগুলি একত্রিত হতে পারে এবং হওয়া উচিত। ব্যক্তিগতভাবে, আমি সম্পূর্ণরূপে হাত দ্বারা এটি করার চেয়ে যুক্তিসঙ্গত মেশিন প্রয়াস ঠিক করতে পছন্দ করি, এটি অপ্রয়োজনীয় কাজের মতো বলে মনে হয়।
সিবি বেইলি

উত্তর:


135

হ্যাঁ, গুণাবলী ব্যবহার করে । আপনার .gitattributesফাইলে এ জাতীয় কিছু রাখুন (এটি উপস্থিত না থাকলে এটি তৈরি করুন):

*.sln binary
*.suo binary
*.vcxproj binary

এখানে binaryআসলে একটি পূর্বনির্ধারিত ম্যাক্রো , সমতুল্য -diff -merge -text

আপনি যদি এখনও তফাতটি দেখতে সক্ষম হন তবে আপনি এটি ব্যবহার করতে পারেন:

*.sln -merge -text

এইভাবে, *.slnফাইলগুলি মার্জ হবে না, ইওলটি স্বাভাবিক হবে না, তবে এর মধ্যে ডিফ-সক্ষম।


1
এই ফাইলটি কোথায়?
নেভী

@ সমস্ত জায়গাতেই দেওয়া উত্তরের লিঙ্কের দ্বারা প্রদত্ত ডকুমেন্টেশন অনুসারে একটি গিটিগনোর ফাইল অবস্থিত হতে পারে।
মাইকেল ওয়াইল্ড

4
@neves: আপনি এক পেয়েছিলাম, হয় আপনার রেপো স্থানীয়ভাবে বা বিশ্বব্যাপী যেমন যেমন ~/.gitattributesএবং তারপর চলমান git config --global core.attributesfile ~/.gitattributesদেখুন stackoverflow.com/questions/28026767/...
Jan-GLX

এই ফাইলগুলি স্বয়ংক্রিয়ভাবে একত্রিত না হলে কী হবে? একটি সংস্করণ বাছাই করা আছে বা আপনাকে ম্যানুয়ালি মার্জ করতে হবে?
ক্লাইডেঘস্ট

1
ক্লাইড দ্যগোস্ট আপনাকে একটি বাছাই করতে হবে।
মাইকেল ওয়াইল্ড

6

.gitattributesপাঠ্য ডিফারফ ফাইল হিসাবে এটি পরিচালনা করতে বাধা দেওয়ার জন্য আপনার এই ফাইলগুলিতে বাইনারি ফাইল বৈশিষ্ট্যগুলি নির্ধারণ করা উচিত (এটি উপস্থিত না থাকলে এটি তৈরি করুন)

# Define binary file attributes.
# - Do not treat them as text.
# - Include binary diff in patches instead of "binary files differ."
*.sln     -text diff
*.suo     -text diff
*.vcxproj -text diff
*.gif     -text diff
*.gz      -text diff
*.ico     -text diff
*.jpeg    -text diff   
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.