Magit দিয়ে একটি শাখার উজানে পরিবর্তন করুন


47

আপনি যখন ম্যাজিট (সহ P P) এর সাথে কোনও শাখা চাপুন এবং শাখার কোন উজানে থাকবে না, তখন মাগিত আপনাকে যে শাখায় ঠেলে দিতে চান তার নাম জিজ্ঞাসা করবে। দারুণ.

আপনি একবার কোনও শাখার জন্য প্রবাহ স্থাপন করলেও, ম্যাজিট আপনাকে আর কোথায় জিজ্ঞাসা করতে চান তা জিজ্ঞাসা করবে না। এটি সাধারণত সুবিধাজনক (আপনি প্রতিবার জিজ্ঞাসা করতে চান না), তবে এটি একটি শাখাটিকে একটি অন্য প্রত্যন্ত শাখায় ঠেলাঠেলি করে তোলে।

বর্তমান শাখায় ইতিমধ্যে একটি প্রবাহ রয়েছে এমনকি, যদি গন্তব্য শাখা সম্পর্কে আমাকে আবার জিজ্ঞাসা করার কোনও উপায় আছে?


ব্যবহারের ক্ষেত্রে

এটি বেশ সাধারণ যে আমার এই শাখা রয়েছে:

Local:    issue-30 ~/Git-Projects/repo/
Remote:   issue-30 @ origin (git@github.com:.../repo.git)
Head:     ebe4054 Some commit message

এবং আমি স্থানীয় এবং দূরবর্তী উভয় শাখায় পরিবর্তন করতে চাই issue-30-and-34। আমি যদি কেবল স্থানীয় শাখার নাম বদলে রাখি তবে আমার সাথে এটি বাকি রয়েছে:

Local:    issue-30-and-34 ~/Git-Projects/repo/
Remote:   issue-30 @ origin (git@github.com:.../repo.git)
Head:     ebe4054 Some commit message

আমি যদি মুছে ফেলতে origin/issue-30, করছেন P Pউপর issue-30-and-34 কেবল পুনঃ হবে origin/issue-30

আমি যা করে শেষ করছি তা নিম্নরূপ, তবে এটি একক gitআদেশে করা যায় এমন কিছুটির জন্য বরং চতুর্দিকে অনুভূত হয় :

  1. issue-30-and-34 (পুরানো নামটির পরিবর্তে) নামে একটি নতুন শাখা তৈরি করুন ,
  2. এর স্থানীয় এবং দূরবর্তী উভয় সংস্করণ মুছুন issue-30,
  3. পুশ করুন issue-30-and-34(যেহেতু এটির এখনও কোনও উজান নেই, তাই ম্যাজিট আমাকে জিজ্ঞাসা করবে কোথায় ঠেলাবেন)।

আমার পরিবর্তে @ পার্সিয়াস দ্বারা উত্তরটি গ্রহণ করার বিষয়টি দয়া করে বিবেচনা করুন ( প্রাসঙ্গিক তথ্য সন্ধান করা সহজ করার জন্য )।
কনস্টান্টাইন

@ কনস্ট্যান্টাইন সম্পন্ন হয়েছে
মালবারবা

উত্তর:


60

v2.1আপনার সাথে শুরু করে বর্তমান শাখার উজানটি ব্যবহার করে দূরবর্তী বা স্থানীয় শাখায় ব্যবহার করতে পারেন bu[REMOTE/]BRANCHRET। শুরু করে v2.4, যদি একটি প্রবাহ ইতিমধ্যে সেট করা থাকে, তবে buকেবল এটি আনসেট করা হবে। uনতুন মান সেট করতে আবার চাপুন ।

শুরু করে v2.4এবং যদি প্রবাহটি সেট না করা থাকে, আপনি ব্যবহারের মাধ্যমে ধাক্কা দেওয়ার সময়ও প্রবাহ সেটআপ করতে পারেন pu[REMOTE/]BRANCHRET। আপ স্ট্রিম হিসাবে কোন শাখাটি আপনাকে ব্যবহার করতে হবে তা আপনাকে স্বয়ংক্রিয়ভাবে জিজ্ঞাসা করা হবে। একবার একটি প্রবাহ সেট puহয়ে যাওয়ার পরে আপনাকে প্রবাহটি পরিবর্তন না করে এটিতে চাপ দেবে। সুতরাং প্রবাহটি পরিবর্তন করতে, আপনাকে পূর্ববর্তী অনুচ্ছেদে বর্ণিত পদ্ধতির ব্যবহার করতে হবে।

আগে v2.4এটি সম্ভব ছিল দূরবর্তী শাখা যে আপনার মূল প্রজেক্টের শাখা ব্যবহার কোলে ঠেলে দিচ্ছেন সেট করতে p-ueREMOTE/BRANCHRET। তবে এখন ডিফল্টরূপে--set-upstream পুশ পপআপে আর স্যুইচ পাওয়া যায় না । শূন্য করার জন্য সেট করে আপনি এটি ফিরে পেতে পারেন । এর দুটি প্রভাব রয়েছে: পরবর্তী পুনঃসূচনা করার পরে আবার স্যুইচ পাওয়া যাবে এবং পূর্ববর্তী অনুচ্ছেদে বর্ণিত পদ্ধতির কাজ আর চলবে না।magit-push-current-set-remote-if-missing--set-upstream


আপনি যদি দ্বিতীয় এবং তৃতীয় অনুচ্ছেদে বর্ণিত উভয় বৈশিষ্ট্য একই সাথে উপলব্ধ থাকতে চান তবে magit-push-current-set-remote-if-missingকোনওরকমভাবে ছাড়ুন না এবং এটি আপনার ইনডি ফাইলটিতে যুক্ত করুন:

(magit-define-popup-switch 'magit-push-popup
  ?u "Set upstream" "--set-upstream")

11

P C-u C-u Pমাগিটকে আপনাকে চাপ দেওয়ার আগে কোন দূরবর্তী এবং দূরবর্তী শাখাটি ব্যবহার করতে হবে তা জিজ্ঞাসা করতে " " টিপুন ।

(একটি একক উপসর্গ যুক্তি দিয়ে (" P C-u P") ম্যাজিট কোন রিমোট ব্যবহার করবেন তা জিজ্ঞাসা করে))

আমি P C-h k Pম্যাজিট স্ট্যাটাস বাফারে টিপে , magit-pushএবং magit-push-dwim(এই ডক্সগুলি পুরানো, বিটিডাব্লু বলে মনে হচ্ছে) পড়ে এবং পরীক্ষা করে এটি পেয়েছি ।

পিএস: আমি ম্যাজিট ব্যবহার করি magit-1.2.0-2049-ge6839e8


5
এই উত্তরটি কিছুটা পুরানো।
সিজমন ওয়াগনাস্কি

1

দেখে মনে হচ্ছে এটি এখন শাখা / কনফিগার বিভাগের আওতায় রয়েছে:

b C p পুশরেমোট সেট করতে


ডিফল্ট ছাড়াও কোনও রিমোট কীভাবে নির্দিষ্ট করবেন?
scry

0

নভেম্বর, ২০১ 2016 এবং সর্বশেষতম হিসাবে magitএখানে একটি আংশিক সমাধান দেওয়া হয়েছে:

P e- আপনাকে ধাক্কা দিতে দেয় elsewhere, তবে এটি মনে নেই

আমি ম্যাজিট-এ যাওয়ার কোনও উপায় খুঁজে --set-upstreamপাইনি, সুতরাং আমি কেবল টার্মিনাল থেকে এটি করেছি, এক ধরণের প্রতারণা তবে এটি আমাকে এই সমস্যায় ফেলেছে:

git push --set-upstream origin <branch-name>

এবং এখন নতুন প্রবাহ সংরক্ষণ করা হয়েছে, এবং আমি আমার পরবর্তী জিনিসটি তৈরি করতে পারি :)


1
"আমি কোনও উপায় খুঁজে পাই না [...] --set-upstream" - সম্ভবত আপনারা টারসিয়াসের উত্তরটি
npostavs

নিশ্চিত, এটিই আমাকে এই বিষয়টি বুঝতে সাহায্য করেছিল। ঠিক magitতখন থেকে কিছুটা পরিবর্তন হয়েছে, এবং আমার আশা আমার সমাধানটি কাউকে আরও কয়েক মিনিট বাঁচায়
জোশ.এফ

1
এই উত্তরের প্রথম অনুচ্ছেদটি কীভাবে প্রবাহকে পরিবর্তন করতে হবে তা ব্যাখ্যা করে এবং এটি সর্বশেষতম চৌম্বকটিতে কাজ করে।
npostavs
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.