একটি স্থানীয় শাখা থেকে অন্য একটিতে "টান" কীভাবে?


231

এটি খুব সহজ শোনায়, তবে আমি এটি বুঝতে পারি না। আমি কিছুক্ষন আগে একটি পরীক্ষামূলক শাখা তৈরি করেছি এবং এখন আমি যখন মাস্টারটি তৈরি করেছি তখন থেকে সমস্ত পরিবর্তন এনে দিতে চাই। এটি সব স্থানীয়। আমি স্থানীয় মাস্টার থেকে স্থানীয় মাই ব্র্যাঙ্কে টানতে চাই, তবে আমি এটি করতে পারি না। এটি কাজ করছে বলে মনে হচ্ছে না, আমাকে জানান যে মাস্টার কোনও গিটার সংগ্রহস্থল নয়:

git pull master

উত্তর:


338

এই ক্ষেত্রে বর্তমান ডিরেক্টরি / সংগ্রহস্থল থেকে আপনাকে গিটটি কোথায় থেকে টানতে হবে তা বলতে হবে:

git pull . master

তবে স্থানীয়ভাবে কাজ করার সময়, আপনি সাধারণত কেবল মার্জ কল করেন (অভ্যন্তরীণ কলগুলিকে মার্জ করে টানুন):

git merge master

1
আমি পছন্দ git pull . masterকরি কারণ আমার মনে হয় এটি উত্স থেকেও নতুন কিছু আছে কিনা তা যাচাই করবে। এটা কি সত্য?
জোশিয়ার যোডার 21

1
@ জোসিয়াহা যোদার নং, গিটকে pull .বিশেষভাবে অবস্থিত .(যেমন বর্তমান ডিরেক্টরি / সংগ্রহস্থল) অবস্থিত ভাণ্ডার থেকে সরিয়ে নিতে বলেছেন । origin" .git/configফাইলের মধ্যে যে কোনও ভান্ডার অবস্থান নির্ধারণ করা হয়েছে (সাধারণত কোনও সংগ্রহস্থানের ক্লোনিং করার সময় স্বয়ংক্রিয়ভাবে সেট আপ হয়)
নিটল

1
উহু! তাহলে git pull . masterকি স্থানীয় ভাণ্ডার থেকে উত্সের পরিবর্তে টানবেন? (কোন উৎপত্তি থেকে আনা !?) সেখানে কোন সুবিধা git pull . masterধরে git merge masterতারপর?
জোশিয়ার

2
@ জোশিয়ার ইয়্ডার হ্যাঁ ঠিক, এটি মূল সংগ্রহস্থলের পরিবর্তে স্থানীয় সংগ্রহস্থল থেকে "টান"। কোনও আনয়ন সম্পন্ন করা হয়নি (কারণ স্থানীয় সংগ্রহস্থল থেকে সমস্ত কিছু ইতিমধ্যে এখানে রয়েছে!)। কোনও সুবিধা নেই - উভয় কমান্ডই কমবেশি একই কাজ করে। যদি আপনি দ্রুত-ফরোয়ার্ডগুলি করে থাকেন তবে push . origin/branch:branchস্থানীয় শাখাগুলি আপডেট করার জন্য আপনি প্রথমে তাদের পরীক্ষা করে না দেখে ( টানবেন না) ব্যবহার করতে পারেন ।
নিটল

আমি তোমার প্রশংসা করি গ্রেস্কুলের শক্তি দ্বারা!
আর ক্ল্যাভেন

45

আপনি যা সন্ধান করছেন তা মার্জ হচ্ছে।

git merge master

আপনার সাথে pullএকটি দূরবর্তী সংগ্রহস্থল থেকে পরিবর্তন আনতে এবং এগুলিকে বর্তমান শাখায় মার্জ করে দিন merge


38

বেশ পুরানো পোস্ট, তবে এটি গিটকে নতুন কাউকে সাহায্য করতে পারে।

আমি সাথে যাব

git rebase master
  • অনেক ক্লিনার লগের ইতিহাস এবং কোনও মার্জ কমিট করে না (সঠিকভাবে করা থাকলে)
  • দ্বন্দ্ব মোকাবেলা করা প্রয়োজন, কিন্তু এটি এতটা কঠিন নয়।

1
বিকাশকারী দলের তাদের শাখা প্রক্রিয়া পরিচালনা করার জন্য অবশ্যই অনেকগুলি উপায় রয়েছে ways ব্যক্তিগতভাবে, আমি 8 বছর ধরে গিট ব্যবহার করে আসছি এবং আমার কখনই পুনর্বাসন করা হয়নি। আমি সর্বদা মার্জ ব্যবহার করি এবং এটি সর্বদা আমার চাহিদা পূরণ করে। অবশ্যই পুনর্বাসনের সাথে, মার্জারের মতোই এমন পরিস্থিতি তৈরি হতে পারে যেখানে গিট স্বয়ংক্রিয়ভাবে দুটি সেট "মার্জিং" এর সঠিক ফলাফলটি স্থির করতে পারে না। আপনি "ক্লিনার" প্রতিশ্রুতিবদ্ধ ইতিহাস সম্পর্কে যে বিষয়টি তৈরি করেছেন সে সম্পর্কে। ব্যক্তিগতভাবে, আমার পছন্দটি সমস্ত প্রতিশ্রুতিবদ্ধ ইতিহাস বজায় রাখা, কেবল যদি আমার কিছু "প্রত্নতত্ত্ব" কমিট করার প্রয়োজন হয় (যেমনটি প্রায়শই ঘটে!)
ইউজার 3441604

-1

আপনি যদি অন্য কোনও শাখা থেকে স্থানীয় থেকে মাস্টার যেমন ব্র্যান্ডের নতুন টান খুঁজছেন তবে আপনি এটি অনুসরণ করতে পারেন।

git commit -m "Initial Commit"
git add .
git pull --rebase git_url
git push origin master
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.