আমরা সম্প্রতি এসভিএন থেকে গিতে স্যুইচ করেছি এবং একই সাথে আমাদের লাইভ সিস্টেমগুলিকে সংস্করণ নিয়ন্ত্রণে রেখেছি (স্থানীয় চেকআউট এবং লাইভে ফাইল কপির পরিবর্তে)।
প্রকল্পে আমাকে নিয়োগ দেওয়া হয়েছে আমরা সবাই একই ভান্ডার অ্যাক্সেস করতে এবং ঠিক git pull
সেখানেই লাইভে পরিবর্তন আনতে । এটি সমস্যা সৃষ্টি করে কারণ আমাদের ওয়েব ডিজাইনাররা ভিসিএসে এমন পরিবর্তনগুলি চাপায় যা এখনও লাইভ হওয়া উচিত নয় তবে ওয়েব-পরীক্ষার পরিবেশে থাকা উচিত।
যখন কোনও বিকাশকারী এখন লাইভে টানেন তখন তিনি সমস্ত (সম্ভবত অসম্পূর্ণ) পরিবর্তন পান।
আমি একটি অতিরিক্ত শাখায় সরাসরি স্যুইচ করার কথা ভাবলাম এবং যা পরিবর্তিত হয়েছে তা কেবল মার্জ করে ফেললাম তবে আমার গিট জ্ঞানের অভাবের কারণে আমি কীভাবে জানি না।
আমার ধারণাটি হ'ল:
- লাইভ (
git branch live
) এ একটি নতুন শাখা তৈরি করুন । - প্রতিবারই কিছু লাইভ থাকতে হয়
- মাস্টারের পরিবর্তনগুলি টানুন (যেমন
git checkout master; git pull; git checkout live
:) git merge master
- মাস্টারের পরিবর্তনগুলি টানুন (যেমন
সমস্যাটি হ'ল মাস্টারে স্যুইচ করা বা সরাসরি লাইভ সিস্টেমে সবকিছু টানলে সমস্যা দেখা দেয় তাই আমি এড়াতে পছন্দ করি।
এটি করার কোনও উপায় আছে বা লাইভ সিস্টেম পরিচালনা করার আরও ভাল কোনও উপায় আছে (ওয়েববিদের প্রশিক্ষণ ব্যতীত অসম্পূর্ণ জিনিসগুলি না চাপানো)।
git checkout -f
সমস্যা উপেক্ষা করা - কিন্তু একটি ব্যাকআপ করা!
git pull --all
ডিফল্টরূপে মাস্টারকে লাইভে টানবে না , এটি মাস্টারকে টানবে এবং এটিকে মাস্টারের সাথে একীভূত করবে এবং (সার্ভারে বিদ্যমান থাকলে) সরাসরি লাইভে রূপান্তর করতে লাইভ টানবে। তুমি কি চেষ্টা করেছ?