আসল কারণটি হ'ল, একটি নতুন রেপোতে (গিট ইন), কোনও শাখা নেই (না master, কোনও শাখা নেই, শূন্য শাখা)
সুতরাং যখন আপনি প্রথমবারের মতো একটি খালি উজানের রেপোতে (সাধারণভাবে একটি খালি একটি ) দিকে চাপ দিচ্ছেন, তখন সেই উজানের রেপোর একই নামের কোনও শাখা নেই।
এবং:
উভয় ক্ষেত্রেই যেহেতু উজানের খালি রেপোর কোনও শাখা নেই:
- নামকরণ করা শাখা এখনও নেই
- মোটামুটি কোনও উজানের শাখা নেই (একই নামের সাথে বা ছাড়া! ট্র্যাকিং বা না)
এর অর্থ আপনার স্থানীয় প্রথম ধাকের কোনও ধারণা নেই:
- যেখানে ধাক্কা
- কী ধাক্কা দেবে (যেহেতু এটি কোনও প্রবাহ শাখাটি দূরবর্তী ট্র্যাকিং শাখা হিসাবে রেকর্ড করা এবং / বা একই নামটি পাচ্ছে না)
সুতরাং আপনার কমপক্ষে একটি করতে হবে:
git push origin master
তবে আপনি যদি কেবল এটি করেন তবে আপনি:
- প্রবাহে একটি প্রবাহ
masterশাখা তৈরি করবে (এখন খালি খালি রেপো): ভাল।
- স্থানীয় শাখা ' ' উজান ( ) ' ' (আপস্ট्रीम শাখা) এ ধাক্কা দেওয়া দরকার: রেকর্ড করবে না bad
masteroriginmaster
এজন্যই প্রথম ধাক্কা দেওয়ার জন্য এটি করার পরামর্শ দেওয়া হচ্ছে:
git push -u origin master
যে রেকর্ড করব origin/masterহিসেবে দূরবর্তী ট্র্যাকিং শাখা , এবং স্বয়ংক্রিয়ভাবে ধাক্কা পরবর্তী ধাক্কা সক্ষম করবে masterকরার origin/master।
git checkout master
git push
এবং এটি পুশ নীতি ' current' বা ' upstream' নিয়েও কাজ করবে ।
প্রতিটি ক্ষেত্রে, প্রাথমিকের পরে git push -u origin master, ডান উজানের শাখায় মাস্টারকে ঠেলাঠেলি চালিয়ে যাওয়ার জন্য একটি সাধারণ গিট পুশ যথেষ্ট be
push.default, দেখুনman git-config)। আপনি যদি তা করেনgit config --add push.default currentতবে প্রয়োজনেgit pushস্বয়ংক্রিয়ভাবে দূরবর্তী রেপোতে শাখা তৈরি করবে। কেন এটি ডিফল্ট নয় তা উত্তরে ব্যাখ্যা করা হয়েছে।