গিট পুল / গিট মার্জ করে সংশোধিত ফাইলগুলি কীভাবে তালিকাভুক্ত করবেন?


5

আমাদের একটি প্রকল্পে, মাইএসকিউএল-ডাম্পগুলি গিটের সাথে সিঙ্ক হয়। ডাটাবেসে প্রতিটি টেবিলের জন্য একটি ফাইল। ডাম্পগুলি টান / মার্জ করার পরে একটি হুক দিয়ে স্থানীয় ডাটাবেসে আমদানি করা হয়। সমস্যাটি হ'ল, কেবলমাত্র এগুলি আমদানি করার জন্য আমার সমস্ত টেবিল ডাম্পগুলি খুঁজে পেতে হবে যা টান দিয়ে পরিবর্তন করা হয়েছিল। আমি কীভাবে মার্জ-পরবর্তী হুক জানতে পারি, কোন ফাইলগুলি পরিবর্তন হয়েছে? এটি মার্জ হওয়ার আগে কেবল একটি প্রতিশ্রুতিই নয়, সাধারণত, আরও কমিট থাকে।

আমি কীভাবে পরিবর্তিত ফাইলগুলির একটি তালিকা পেতে পারি?

উত্তর:


5

git diff --name-only SHA1 SHA2

git logগিট কমিট আইডি পেতে ব্যবহার করুন । git diff SHAxআপনি যে টানা সর্বশেষতম মাথাটি কেবল তার চেয়ে আলাদা করতে চান কেবল ব্যবহার করুন ।

আগে আপনি git pullকি git logবা git statusSHAx জন্য। আপনি git fetchএকত্রীকরণের আগে আপনি টানুন এবং লগ এবং ডিফের পরিবর্তে করতে পারেন ।


2
হ্যাঁ, SHA1 আমার মাথা, তবে আমি কীভাবে সঠিক SHA2 পাব?
WolleTD

2
আপনি সম্ভবত আপনার উত্তরটি ব্যাখ্যা করতে পারেন এবং আপনি কী প্রস্তাব করছেন তার একটি বিবরণ দিয়ে তা স্পষ্ট করে বলতে পারেন।
শেখেম্টি

আপনি যখন টানার আগে কমিট শ পেয়েছেন তখন এটি সত্যিই সহায়তা করে না
নীল নেইমন


2

আমি এরকম কিছু পাওয়ার জন্য git reflogসঠিকভাবে ব্যবহার করেছি git pull:

SHA1 HEAD@{0}: pull: Fast-forward
SHA2 HEAD@{1}: checkout: moving from somewhere to anotherplace

"টানুন: ফাস্ট-ফরোয়ার্ড" পড়ার ঠিক পরে SHA হ'ল আপনি যেখানে টানার আগে ছিলেন।

এর পরে আমি git diff --name-only SHA2অন্য উত্তরটি থেকে উত্তরটি ব্যবহার করেছি , যা আপনাকে সেই ফাইলগুলির একটি তালিকা দেবে যা সেই প্রতিশ্রুতি থেকে আপনার বর্তমান অবস্থায় পরিবর্তিত হয়েছিল।

আমি 100% নিশ্চিত নই যে এটি কীভাবে প্রচুর পরিবর্তন এবং একত্রীকরণের জন্য কাজ করে, তবে একটি সাধারণ দ্রুত এগিয়ে যাওয়ার জন্য এটি খুব ভালভাবে কাজ করেছিল।


প্রকৃতপক্ষে HEAD@{0}(বা এক "পঠনকারী: দ্রুত-ফরওয়ার্ড") আসল প্রতিশ্রুতি - টানার পরে - এবং টানার আগেরটি নয়!
কার্লোস হুবার্গার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.