প্রবাহ স্থাপন করার সময় বা একই সাথে ধাক্কা না দিয়ে প্রবাহ স্থাপনের বিভিন্ন উপায় রয়েছে।
যদি magit-push-current-set-remote-if-missing
তা নন- nil
(ডিফল্ট) হয় তবে আপনি দেখতে পাবেন এর মতো কিছু:
Push feature to
p pushRemote, after setting that
u @{upstream}, after setting that
e elsewhere
পুশ করার origin/feature
এবং সেট মূল প্রজেক্টের টেপার যে uএবং তারপর RETডিফল্ট সমাপ্তি ক্যান্ডিডেট গ্রহণ করতে।
যদি magit-push-current-set-remote-if-missing
তা হয় nil
তবে তার পরিবর্তে আপনি এটি দেখতে পাবেন:
Push feature to
e elsewhere
আপনি যদি pএখন টিপুন , তবে আপনাকে জানানো হবে যে প্রবাহটি কনফিগার করা নেই (বোঝা যাচ্ছে যে প্রবাহ প্রবাহ না থাকলে আপনি প্রবাহে চাপতে পারবেন না)।
তবে যদি magit-push-current-set-remote-if-missing
তা হয় nil
, তবে স্যুইচগুলির তালিকাটি বৈশিষ্ট্যযুক্ত হবে --set-upstream
, যাতে আপনি অভ্যস্ত P - u pহিসাবে ব্যবহার করতে পারেন (দ্বিতীয় পি লোয়ারকেস বাদে)। যদিও একটি জটিলতা রয়েছে: আপনার মান পরিবর্তন করার পরে উপস্থিত বা অদৃশ্য হওয়ার magit-push-current-set-remote-if-missing
জন্য --set-upstream
আপনার ইম্যাক্স পুনরায় চালু করতে হবে।
অবশেষে আপনি মূল প্রজেক্টের ব্যবহার করে নির্ধারণ করতে পারেন "সেট মূল প্রজেক্টের (এবং অন্য কিছুই না)" কমান্ড: b uorigin/master
RET। মনে রাখবেন যে আপনি যখন এই পদ্ধতির ব্যবহার করেন, তখন আপনি কেবলমাত্র একটি শাখা নির্বাচন করতে পারেন যা ইতিমধ্যে বিদ্যমান।
তবে পুশ-রিমোটটি কনফিগার করা এবং এটিতে ঠেলা ভাল। পুশ-রিমোট এবং এটি কীভাবে উপরের অংশ থেকে পৃথক হয় সে সম্পর্কে আরও জানতে, তথ্য ম্যানুয়ালটিতে ব্রাঞ্চিং নোড দেখুন (ওয়েব সংস্করণটি এখনও আপডেট হয়নি)।
মূলত প্রবাহিত শাখাটি সেই শাখা যা আপনার বৈশিষ্ট্য শাখাটি শেষ পর্যন্ত একীভূত হবে (সম্ভবত মার্জ করে বা রিবেসিংয়ের মাধ্যমে, ধাক্কা দিয়ে নয়), সম্ভবত origin/master
। এবং পুশ-রিমোট হ'ল যেখানে আপনি আপনার বৈশিষ্ট্য শাখাগুলিতে এখনও কাজ করার সময় তাদের দিকে ঠেলাচ্ছেন বা অন্য কেউ যাতে তাদের মার্জ করতে পারে। স্থানীয় শাখা নামকরণ করা হয় তাহলে feature
এবং পুশ-দূরবর্তী হয় my-fork
, তাহলে সেই শাখা ব্যবহার ঠেলাঠেলি P pকরতে ধাক্কা হবে my-fork/feature
। ("পুশ-টু-শাখা" কনফিগার করা যায় না, পুশ-রিমোটে শাখার নাম সর্বদা স্থানীয় নামের মতো থাকে))
সুতরাং আপনার প্রশ্নটি "আমি একইসাথে উজানটি কনফিগার করার সময় কীভাবে উজানের দিকে ধাক্কা দেব" এর মতো কিছু ছিল, আমার সুপারিশটি হ'ল প্রবাহকে মোটেও চাপ না দেওয়া, পরিবর্তে পুশ-রিমোটের দিকে ধাক্কা দেওয়া।
আপনি যে মানটি পরিবর্তন করেছেন তা পরিবর্তিত না করে magit-push-current-set-remote-if-missing
আপনি পুশ-রিমোট ব্যবহার করে কনফিগার করতে পারেন P psome-remote
RET। তবে, যেহেতু আপনি সম্ভবত সমস্ত বৈশিষ্ট্য শাখাগুলি একই দূরবর্তীটিতে চাপছেন, তাই সমস্ত শাখাগুলির জন্য একবার পুশ-রিমোট সেট করা এবং এটি দিয়ে সম্পন্ন করা ভাল: bএবং তারপরে M-pডান রিমোট নির্বাচন না হওয়া পর্যন্ত।
এছাড়াও নোট করুন যে সাধারণত প্রবাহিত শাখাটি পরিষ্কারভাবে সেট করার প্রয়োজন হবে না। আপনি যখন একটি নতুন শাখা তৈরি করেন এবং প্রারম্ভিক পয়েন্ট হিসাবে একটি দূরবর্তী শাখা নির্বাচন করেন, তবে এটি আপস্ট্রিম হিসাবে ব্যবহৃত হয়।
দুর্ভাগ্যক্রমে প্রারম্ভকেন্দ্রটি সাধারণত একটি স্থানীয় শাখা হয় এবং সেক্ষেত্রে গিটটি ডিফল্টরূপে এটিকে প্রবাহ হিসাবে ব্যবহার করে না। তবে এটি একবার চালিয়ে সহজেই স্থির করা যায়:
git config --global branch.autoSetupMerge always
ডিফল্ট মান হ'ল true
যার অর্থ "প্রারম্ভিক পয়েন্টটি আপ স্ট্রিম হিসাবে সেট করুন, প্রদত্ত এটি একটি দূরবর্তী শাখা"।
উপায় দ্বারা, একই ধাক্কা রিমোট প্রযোজ্য। এটিও সাধারণত "নতুন" সংগ্রহস্থলগুলিতে আধা-স্বয়ংক্রিয়ভাবে সেট করা উচিত। আপনি যদি কোনও সংগ্রহস্থল ক্লোন করেন তবে আপনাকে জিজ্ঞাসা করা হবে যে আপনি origin
পুশ-রিমোট হিসাবে ব্যবহার করতে চান কিনা । আপনার "হ্যাঁ" এর উত্তর দেওয়া উচিত, যদি না আপনি অন্য একটি রিমোট যুক্ত করেন, বলুন my-fork
, যা ধাক্কা-রিমোট হিসাবে ব্যবহার করা উচিত। আপনি যখন একটি নতুন রিমোট ব্যবহার করে যুক্ত করেন M aএবং remote.pushDefault
এখনও সেট না করে থাকেন, তখন আপনাকে জিজ্ঞাসা করা হবে আপনি নতুন সংযুক্ত রিমোটটি পুশ-রিমোট হিসাবে ব্যবহার করতে চান কিনা।
এটি magit-clone-set-remote.pushDefault
এবং ব্যবহার করে কনফিগার করা যায় magit-remote-add-set-remote.pushDefault
।
আর একটি উন্নত বিকল্প হ'ল magit-branch-prefer-remote-upstream
, যা ডিফল্ট হয় nil
। যদি আপনি এটি সেট করে থাকেন t
এবং তার পরে কোনও নতুন শাখার প্রারম্ভকালীন হিসাবে স্থানীয় একটি শাখা নির্বাচন করেন, তবে প্রারম্ভ-পয়েন্টের আপস্র্যামটি (কিছু নিয়ম অনুসারে ডক-স্ট্রিং দেখুন) এর পরিবর্তে প্রবাহ হিসাবে ব্যবহৃত হবে সূচনা পয়েন্ট নিজেই।
<remote>/<branch>
দুর্ভাগ্যক্রমে অংশটি প্রম্পটের বাইরে রেখে গেছে ( এই মন্তব্যটি দেখুন )। ইতিমধ্যে, আপনিmagit-push-current-set-remote-if-missing
শূন্য করতে পারেন ।