আপনি যদি পুরানো একটি থেকে সমস্ত শাখাকে নতুন রেপোতে নিয়ে যাচ্ছেন তবে আপনার স্থানীয় রেপোতে নতুন রেপোতে চাপ দেওয়ার আগে আপনার প্রতিটি শাখাকে বিদ্যমান মূল শাখায় ট্র্যাকিং স্থাপন করতে হবে , অন্যথায় আপনার সমস্ত উত্সের শাখা উপস্থিত হবে না নতুন উত্স। প্রতিটি শাখা ট্র্যাক বা পরীক্ষা করে নিজেই এটি করুন বা একটি লাইনার ব্যবহার করুন:
for remote in `git branch -r | grep -v '\->' | grep -v master`; do git branch --track `echo $remote|sed 's=origin/=='` `echo $remote`; done
এই পৃষ্ঠার অন্যান্য উত্তরের সংস্করণগুলির উপর ভিত্তি করে এই ওয়ান লাইন কমান্ডটি তৈরি করা হয়েছে তবে তর্কযোগ্যভাবে এটি আরও ভাল কারণ:
- এটি সঠিকভাবে শাখা ট্র্যাকিং সেটআপ করে, এই পৃষ্ঠায় এই কমান্ডের কিছু পুরানো রূপগুলির বিপরীতে যা কেবলমাত্র --track এর জন্য একটি প্যারামিটার সরবরাহ করে এবং সুতরাং প্রতিটি শাখা ট্র্যাকিংয়ের মাস্টার শেষ করে - ভাল নয়
- আমি ব্যক্তিগতভাবে চাই না এমন উপদ্বীপটি "উত্স /" ছাড়াই স্থানীয় শাখাগুলির নাম রাখে - এবং আপনি যখন কোন শাখাটি স্বাভাবিকভাবে চেকআউট করেন তখন যা ঘটে তার সাথে সামঞ্জস্য থাকে।
- ইতিমধ্যে ঘটছে যেহেতু ট্র্যাকিং মাস্টার এড়িয়ে যায়
- আসলে চেকআউট কিছুই দ্রুত হয় না
- গিট শাখা -আর এর আউটপুটে -> এর উপর হোঁচট খাওয়া এড়ানো যায়
এরপরে, আপনি যদি উত্স স্যুইচ করছেন তবে লিঙ্কটি পুরানো উত্সের সাথে প্রতিস্থাপন করুন এবং একটি নতুন দূরবর্তীকে নির্দেশ করুন। বিটবাকেট / গিথুব জিইআই ব্যবহার করে আপনি প্রথমে নতুন রিমোট তৈরি করেছেন তা নিশ্চিত করুন, তবে এতে কোনও ফাইল যুক্ত করবেন না বা একীভূত হওয়ার সমস্যা হবে। যেমন
git remote set-url origin git@bitbucket.org:YOUR/SOMEREPO.git
এবার ধাক্কা। মনে রাখবেন ট্যাগগুলিকে ধাক্কা দেওয়ার জন্য দ্বিতীয় কমান্ডেরও প্রয়োজন:
git push -u --all origin
git push --tags origin