সংক্ষিপ্ত উত্তর
আপনি যদি প্রকৃতপক্ষে স্পষ্ট হতে চান এবং -uপ্রয়োজনে বিকল্পটি ব্যবহার করতে চান তবে কেবল পুরোটি টাইপ করতে চান না:
git push -u origin foo
তারপরে আপনি নীচের নামটি ব্যবহার করতে পারেন:
[alias]
push-u = !git push -u origin $(git symbolic-ref --short HEAD)
এবং সহজভাবে টাইপ করুন:
git push-u
দীর্ঘ উত্তর
সাধারণত, -u(শর্টহ্যান্ডের জন্য --set-upstream) প্রয়োজন যখন তখনই আমরা একটি নতুন স্থানীয় শাখা তৈরি করি এবং প্রতিশ্রুতিবদ্ধ করি এবং আমরা এটিকে প্রবাহিত করতে চাই। রিমোট রিপোজিটরিতে এখনও নতুন শাখা নেই, সুতরাং কমিটকে চাপ দেওয়ার আগে আমাদের দূরবর্তী শাখাটি তৈরি এবং ট্র্যাক করার জন্য গিট বলতে হবে। এটি কেবল শাখায় প্রথম ধাক্কা দেওয়ার জন্য প্রয়োজনীয়। এখানে একটি সাধারণ দৃশ্য:
git checkout -b foo # Create local branch
git commit -m "Foo" # Create local commit
git push -u origin foo # Create and track remote branch, and push commit
git commit -m "Bar" # Create local commit
git push # Push commit
ব্যক্তিগতভাবে, আমি git push -uরিমোট শাখা তৈরি করার সময় এটির সাথে সুস্পষ্ট হওয়া প্রয়োজনটির মতো করি : এটি একটি দুর্দান্ত তাৎপর্যপূর্ণ অপারেশন, একটি সম্পূর্ণ নতুন শাখা বিশ্বের কাছে ভাগ করে নেওয়া।
যাইহোক, আমি ঘৃণা করি যে আমাদের স্পষ্টভাবে লিখতে হবে git push -u origin foo। এটি কেবল টাইপ করতে ব্যথা নয়, তবে আরও গুরুত্বপূর্ণ, এটি বেশ ত্রুটি-প্রবণ! শাখার নাম টাইপ করার সময় ভুল করা সহজ, এবং নতুন দূরবর্তী শাখায় আপনার স্থানীয় শাখার মতো নাম থাকবে না! বেশিরভাগ ক্ষেত্রেই, আপনি চাইছেন প্রবাহের সংগ্রহস্থল originএবং আপস্ট্রিম শাখার আপনার স্থানীয় শাখার নাম একই থাকে।
অতএব, আমি আমার মধ্যে নিম্নলিখিত উপনামটি ব্যবহার করছি .gitconfig, যা মার্ক প্রদত্ত দুর্দান্ত উত্তরের একটি উপসেট :
[alias]
push-u = !git push -u origin $(git symbolic-ref --short HEAD)
এখন, আমরা নিম্নলিখিতটি করতে পারি, যা এখনও স্পষ্ট, তবে কম ত্রুটিযুক্ত:
git checkout -b foo # Create local branch
git commit -m "Foo" # Create local commit
git push-u # Create and track remote branch, and push commit
git commit -m "Bar" # Create local commit
git push # Push commit
push.defaultএবংbranch.<name>.mergeবিকল্পগুলি ব্যবহার করা সম্ভব কিনা তা আপনি পরীক্ষা করেছেন ?