আসল কারণটি হ'ল, একটি নতুন রেপোতে (গিট ইন), কোনও শাখা নেই (না master
, কোনও শাখা নেই, শূন্য শাখা)
সুতরাং যখন আপনি প্রথমবারের মতো একটি খালি উজানের রেপোতে (সাধারণভাবে একটি খালি একটি ) দিকে চাপ দিচ্ছেন, তখন সেই উজানের রেপোর একই নামের কোনও শাখা নেই।
এবং:
উভয় ক্ষেত্রেই যেহেতু উজানের খালি রেপোর কোনও শাখা নেই:
- নামকরণ করা শাখা এখনও নেই
- মোটামুটি কোনও উজানের শাখা নেই (একই নামের সাথে বা ছাড়া! ট্র্যাকিং বা না)
এর অর্থ আপনার স্থানীয় প্রথম ধাকের কোনও ধারণা নেই:
- যেখানে ধাক্কা
- কী ধাক্কা দেবে (যেহেতু এটি কোনও প্রবাহ শাখাটি দূরবর্তী ট্র্যাকিং শাখা হিসাবে রেকর্ড করা এবং / বা একই নামটি পাচ্ছে না)
সুতরাং আপনার কমপক্ষে একটি করতে হবে:
git push origin master
তবে আপনি যদি কেবল এটি করেন তবে আপনি:
- প্রবাহে একটি প্রবাহ
master
শাখা তৈরি করবে (এখন খালি খালি রেপো): ভাল।
- স্থানীয় শাখা ' ' উজান ( ) ' ' (আপস্ট्रीम শাখা) এ ধাক্কা দেওয়া দরকার: রেকর্ড করবে না bad
master
origin
master
এজন্যই প্রথম ধাক্কা দেওয়ার জন্য এটি করার পরামর্শ দেওয়া হচ্ছে:
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
স্বয়ংক্রিয়ভাবে দূরবর্তী রেপোতে শাখা তৈরি করবে। কেন এটি ডিফল্ট নয় তা উত্তরে ব্যাখ্যা করা হয়েছে।