git চেরি-কি অন্য গিট রিপোজিটরি থেকে একটি কমিট বাছাই করা সম্ভব?




cherry-pick (8)

আমি একটি গিট রিপোজিটরির সাথে কাজ করছি যা অন্য গিট রিপোজিটরির একটি কমিটির প্রয়োজন যা প্রথমটির কিছুই জানে না।

সাধারণত আমি রিফ্লোগে [email protected]{x} ব্যবহার করে চেরি-পিক চয়ন করব, কিন্তু এই কারণে। এই রিফ্লগ এন্ট্রি (বিভিন্ন শারীরিক ডিরেক্টরি) সম্পর্কে কিছুই জানেন না, আমি কীভাবে চেরিটি বাছাই করতে পারি, নাকি আমি পারি?

আমি git-svn ব্যবহার করছি। আমার প্রথম শাখার একটি সাবভারসন রেপোর trunk git-svn ব্যবহার করা হচ্ছে এবং পরবর্তী শাখার একটি সাবভার্সন শাখায় git-svn ব্যবহার করা হচ্ছে।


Answer #1

আপনাকে অন্য রিপোজিটরিটি রিমোট হিসাবে যুক্ত করতে হবে, তারপরে তার পরিবর্তন আনতে হবে। সেখানে থেকে আপনি কমিট দেখুন এবং আপনি চেরি করতে পারেন।

সে রকমই:

git remote add other https://example.link/repository.git
git fetch other

এখন আপনি সব তথ্য সহজভাবে git cherry-pick

এখানে Remotes সঙ্গে কাজ সম্পর্কে আরও তথ্য: https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes বেসিক- ওয়ার্কিং-with- রিমোট


Answer #2

এখানে রিমোট-ফিচার-মার্জ এর একটি উদাহরণ।

cd /home/you/projectA
git remote add projectB /home/you/projectB
git fetch projectB

তারপর তুমি পারো:

git cherry-pick <first_commit>..<last_commit>

অথবা আপনি এমনকি পুরো শাখা একত্রিত করতে পারে

git merge projectB/master

Answer #3

এখানে একটি রিমোট যুক্ত করার পদক্ষেপ, শাখাগুলি আনতে এবং চেরি-একটি কমিট চয়ন করুন

# Cloning our fork
$ git clone [email protected]:ifad/rest-client.git

# Adding (as "endel") the repo from we want to cherry-pick
$ git remote add endel git://github.com/endel/rest-client.git

# Fetch their branches
$ git fetch endel

# List their commits
$ git log endel/master

# Cherry-pick the commit we need
$ git cherry-pick 97fedac

উত্স: https://coderwall.com/p/sgpksw


Answer #4

Assuming A হল এমন একটি রেপ যা আপনি চেরি-চয়ন করতে চান, এবং B আপনি যেটি চেরি করতে চান তা চয়ন করুন, আপনি </path/to/repo/A/>/.git/objects করতে পারেন </path/to/repo/B>/.git/objects/info/alternates । এটি বিদ্যমান না থাকলে এই alternates ফাইল তৈরি করুন।

এটি রেপো বি রেপো এ থেকে সমস্ত গিট বস্তুগুলি অ্যাক্সেস করবে এবং আপনার জন্য চেরি-পিক তৈরি করবে।


Answer #5

আমার অবস্থা ছিল যে আমার একটি বিরল রেপো আছে যা দলটি ধাক্কা দেয়, এবং এর পাশে ডান বসার একটি ক্লোন। মেকফিলের লাইনগুলির এই সেটটি আমার জন্য সঠিকভাবে কাজ করে:

git reset --hard
git remote update --prune
git pull --rebase --all
git cherry-pick -n remotes/origin/$(BRANCH)

বেন রেপোতে আজকের মাস্টারকে রেখে, আমরা চেরি-বেন রেপোতে প্রকাশিত প্রস্তাবিত পরিবর্তনটি চয়ন করতে সক্ষম। আমরা সমৃদ্ধ পর্যালোচনা এবং পরীক্ষার জন্য একাধিক braches চয়ন Cherry- (আরো জটিল) উপায় আছে।

যদি "কিছুই জানেন না" মানে "দূরবর্তী হিসাবে ব্যবহার করা যায় না", তাহলে এটি সাহায্য করে না, কিন্তু এই প্রশ্নটি আসছে যখন আমি প্রায়শই এই কার্যপ্রবাহে আসার জন্য প্রায়শই চলছিলাম তাই আমি ভাবলাম যে আমি অবদান রাখতে চাই।


Answer #6

আপনি অনুসরণ হিসাবে এক লাইন এটি করতে পারেন। আশা করি আপনি জিট রিপোজিটরিতে আছেন যা চেরি-বাছাই করা পরিবর্তনের প্রয়োজন এবং আপনি শাখা সংশোধন করার জন্য চেক আউট করেছেন।

git fetch ssh://[email protected]:7999/repo_to_get_it_from.git branchToPickFrom && git cherry-pick 02a197e9533
# 

গিট আনতে [শাখা ইউআরএল] [চেরি থেকে চক্রের চিকন ] & & চিট চেরি-পিক [কমিটি আইডি]


Answer #7

আপনি এটা করতে পারেন, কিন্তু এটি দুটি পদক্ষেপ প্রয়োজন। এখানে কিভাবে:

git fetch <remote-git-url> <branch> && git cherry-pick FETCH_HEAD

<remote-git-url> প্রতিস্থাপনের url বা পাথ দিয়ে আপনি চেরি-চয়ন চান তা প্রতিস্থাপন করুন।

<branch> প্রতিস্থাপন করুন এমন শাখা বা ট্যাগ নাম দিয়ে আপনি চেরি করতে চান-রিমোট রিপোজিটরি থেকে চয়ন করুন।

আপনি শাখা থেকে একটি FETCH_HEAD SHA দিয়ে FETCH_HEAD প্রতিস্থাপন করতে পারেন।

আপডেট করা হয়েছে: @ pkalinow এর মতামত উপর ভিত্তি করে সংশোধিত।


Answer #8

প্রদত্ত উত্তরটি ফরম্যাট-প্যাচ ব্যবহার করা হয় তবে প্রশ্নটি যেভাবে অন্য ফোল্ডার থেকে চেরি-চয়ন করা হয়, সেটি এখানে কোডের একটি অংশ যা কেবল তা করার জন্য:

$ git --git-dir=../<some_other_repo>/.git \
format-patch -k -1 --stdout <commit SHA> | \
git am -3 -k

(@ কোং মা থেকে ব্যাখ্যা)

git format-patch কমান্ডটি তার SHA দ্বারা নির্দিষ্ট কিছু some_other_repo এর some_other_repo থেকে একটি প্যাচ তৈরি করে ( -1 একক একক প্রতিশ্রুতির জন্য)। এই প্যাচটি git am করার জন্য পাইপ করা হয়, যা স্থানীয়ভাবে প্যাচ প্রয়োগ করে ( -3 মানে প্যাচটি পরিষ্কারভাবে প্রয়োগ করতে ব্যর্থ হলে তিন-উপায় মার্জ চেষ্টা করে)। যে ব্যাখ্যা করে আশা করি।





cherry-pick