মাস্টার সহ উন্নয়ন শাখা মার্জ করুন


763

আমি দুটি শাখা যথা masterএবং developmentএকটি GitHub সংগ্রহস্থলের মধ্যে। আমি যেমন দেখায় তেমন উন্নয়ন শাখায় আমার সমস্ত উন্নয়ন করছি।

git branch development
git add *
git commit -m "My initial commit message"
git push -u origin development

এখন আমি developmentশাখার সমস্ত পরিবর্তনগুলিকে একত্রিত করতে চাই master। আমার বর্তমান পদ্ধতিটি হ'ল:

git checkout master 
git merge development
git push -u origin master 

আমি যে পদ্ধতিটি অনুসরণ করছি তা সঠিক কিনা দয়া করে আমাকে জানান।


7
git pull -uশাখার জন্য প্রবাহের ট্র্যাকিং সেট করে (বা সমস্ত শাখা একাধিককে চাপ দিলে)। এটি সেট হয়ে গেলে ট্র্যাকিং অব্যাহত থাকে। এটি ক্রমাগত ব্যবহার করার কোনও কারণ নেই is
ডেভিড কাল্প 5'13

উত্তর:


1164

সাধারণত মার্জ করতে চান আমি masterমধ্যে developmentপ্রথম যাতে যদি কোনো দ্বন্দ্ব নেই, আমি সমাধান করতে পারেন developmentশাখা নিজেই আমার masterদেহাবশেষের পরিষ্কার।

(on branch development)$ git merge master
(resolve any merge conflicts if there are any)
git checkout master
git merge development (there won't be any conflicts now)

দুটি পদ্ধতির মধ্যে খুব একটা পার্থক্য নেই, তবে আমি মাঝে মাঝে লক্ষ্য করেছি যে আমি শাখাটি masterমার্জ করার পরে এখনও মিশ্রিত করতে চাই না বা এগুলি মার্জ হওয়ার আগে আরও কাজ করার দরকার আছে , তাই আমি masterচূড়ান্ত স্টাফ না হওয়া পর্যন্ত অচ্ছুত ছেড়ে চলে যেতে ঝোঁক ।

সম্পাদনা: মন্তব্য থেকে

আপনি কে মার্জটি কখন করেছেন এবং কখন তা ট্র্যাক রাখতে চান, এটি করতে --no-ffমার্জ করার সময় আপনি পতাকা ব্যবহার করতে পারেন। সাধারণত দরকারী শুধুমাত্র যখন মার্জ করা হচ্ছে developmentমধ্যে masterকারণ আপনার একত্রীকরণ প্রয়োজন হতে পারে, (শেষ ধাপে) masterমধ্যে development(প্রথম পদক্ষেপ) আপনার কর্মপ্রবাহ মধ্যে একাধিক বার তৈরি করার সময় একটি এই জন্য নোড কমিট খুব দরকারী হতে পারে না, এবং।

git merge --no-ff development

71
এই পদ্ধতির ক্ষেত্রে কিছুটা অসুবিধা রয়েছে: মাস্টারের সাথে প্রকৃত সংযুক্তি সম্ভবত দ্রুত-ফরোয়ার্ড মার্জ এবং তাই কোনও কমিট নোড তৈরি করে না। শাখায় আসল কোডটি নিয়ে এটি কোনও সমস্যা নয়, তবে পরে কে খুঁজে পেলেন, কে মাস্টারে প্রকৃত সংহত হয়েছিল এবং কোন সময়ে hard --no-ffএটিকে সংশোধন করার জন্য মাস্টারে মার্জ করার জন্য একটি স্পষ্ট প্রয়োজন।
মিচাস

11
হ্যাঁ, ঠিক এটির --no-ffজন্যই। :)
মিচাস

19
এটি git merge --no-ff developmentকেবলমাত্র @ নির্বাচিতদের ব্যবহার সংশোধন করার জন্য।
jewbix.cube

2
@ সালেশ আপনি কি মন্তব্যগুলির সাথে একমত হন, দয়া করে গিট একীভূত পতাকাটি অন্তর্ভুক্ত করতে আপনার উত্তর আপডেট করতে পারেন?
ওয়েব ব্যবহারকারী

2
@ মার্স, পুরানো পরিবর্তন যদি প্রতিশ্রুতির সরাসরি পূর্বসূরীতে থাকে তবে মার্জ করা কোনও ফাইলকে ওভাররাইড করবে। উদাহরণস্বরূপ, আসুন A->B->Cমাস্টার A->X->Yহোন এবং এটি আপনার দেব শাখা। আপনি যদি এমন কোনও ফাইলের অংশ পরিবর্তন করেন Xযার মধ্যে পরিবর্তনের সাথে দ্বন্দ্ব থাকতে পারে তবে তা বিরোধ Aহবে না, কারণ Aএটি পূর্বপুরুষ X। হারানো পরিবর্তনগুলি সম্পর্কে, কোনও পরিবর্তন পুনরুদ্ধার করতে stackoverflow.com/questions/7147680/… দেখুন
সাইলেশ

103

ব্যক্তিগতভাবে, আমার দৃষ্টিভঙ্গিটি আপনার অনুরূপ, যখন তারা মাস্টার ফিরে যায় তখন আরও কয়েকটি শাখা এবং কিছু শৃঙ্খলাবদ্ধতার সাথে।

আমার একজন সহকর্মী এতটা শাখা স্যুইচ করতে পছন্দ করেন না এবং উন্নয়ন শাখা থেকে মৃত্যুদন্ড কার্যকর করা নিম্নলিখিত সকলের মতো কিছু দিয়ে বিকাশ শাখায় থাকেন।

git fetch origin master

git merge master

git push origin development:master

প্রথম লাইনটি নিশ্চিত করে যে শেষবারের মতো তার স্থানীয় সংগ্রহস্থলটি আপডেট করার পরে তার যে কোনও প্রবাহের কমিট রয়েছে master

দ্বিতীয়টি মাস্টার থেকে সেই পরিবর্তনগুলি (যদি থাকে তবে) বিকাশে নিয়ে আসে

তৃতীয়টি উত্স / মাস্টার পর্যন্ত বিকাশ শাখাটিকে (এখন পুরোপুরি পুরোপুরি মাস্টারের সাথে মিশে গেছে) পুশ করে।

আমার তার বুনিয়াদি কর্মপ্রবাহ কিছুটা ভুল হতে পারে তবে এটিই এর মূল বক্তব্য।


ধন্যবাদ! এটি আমার কাছে আরও স্বজ্ঞাত ধারণা দেয়।
জেমি নিকোল-শেলি

2
হ্যাঁ - আমি এটি লেখার পর থেকে 6+ বছরেও আমি এটি গ্রহণ করেছি - যদিও এর পরিবর্তে শাখা rebaseআপডেট করা উচিত । devmerge
ডেভিড কাল্প

32

শাখাগুলির কোনও জ্ঞান ছাড়াই এখানে যারা এসেছেন তাদের নীচ থেকে ব্যাখ্যা।

বেসিক মাস্টার শাখা বিকাশের যুক্তিটি হ'ল: আপনি কেবল অন্য শাখায় কাজ করেন এবং কেবল অন্য শাখাকে মার্জ করার জন্য মাস্টার ব্যবহার করেন।

আপনি এইভাবে একটি নতুন শাখা তৈরি শুরু করেন:

1) আপনার স্থানীয় দিরের ক্লোন সংগ্রহস্থল (বা একটি নতুন সংগ্রহশালা তৈরি করুন):

$ cd /var/www
$ git clone git@bitbucket.org:user_name/repository_name.git

2) একটি নতুন শাখা তৈরি করুন। এটিতে আপনার মাস্টার শাখা সংগ্রহস্থলের সর্বশেষতম ফাইল থাকবে files

$ git branch new_branch

3) আপনার বর্তমান গিট শাখাটি নতুন_বাঞ্চে পরিবর্তন করুন

$ git checkout new_branch

4) কোডিং করুন, কমিট করুন, যথারীতি ...

$ git add .
$ git commit -m “Initial commit”
$ git push (pushes commits only to “new_branch”)

৫) এই শাখায় কাজ শেষ হলে, "মাস্টার" শাখায় মার্জ করুন:

$ git merge master
$ git checkout master (goes to master branch)
$ git merge development (merges files in localhost. Master shouldn’t have any  commits ahead, otherwise there will be a need for pull and merging code by hands!)
$ git push (pushes all “new_branch” commits to both branches - “master” and “new_branch”)

আপডেট: পরিবর্তনের ভিজ্যুয়াল ট্রি দেখতে এবং সমস্ত যুক্তি এবং প্রতিশ্রুতি আরও ভাল দেখতে আমি এই জন্য গিটক্রেন ব্যবহার করার পরামর্শ দিচ্ছি।


আমি মাস্টার উপর কাজ না করার আপনার পদ্ধতির পছন্দ। কিন্তু আজ যখন আমি গিটফ্লো দিয়ে খেলছিলাম, আমি releaseআমাদের শাখা তৈরি করেছি develop। তারপরে একটি রিলিজ নোট ফাইল যুক্ত এবং প্রতিশ্রুতিবদ্ধ। তারপরে রিলিজটি শেষ হয়েছে যা উভয়টিতেই ফিরে যায় master/develop। তবে আমার মাস্টার শাখায় কেবলমাত্র এটিতে নতুন যুক্ত হওয়া রিলিজ নোট ছিল। পূর্ববর্তী বিকাশ কমিটির সময় অন্য কোনও ফাইল এতে আপডেট হয়নি।
অমিত শাহ

আপনি যদি মাস্টারের তুলনায় অন্য কোনও শাখায় কাজ করেন তবে নিশ্চিত হন যে আপনি সেই শাখায় পরিবর্তন করেছেন এবং পরিবর্তন করেছেন। Github.com বা বিটবুকিট.কমের গ্রাফিক ইন্টারফেসে ফাইলগুলি দেখতে কেমন তা দেখতে আপনি সেখানে ওয়েবসাইটটিতে মার্জ ক্লিক করতে চেষ্টা করতে পারেন। আপনার ব্রাঞ্চ থেকে মাস্টার পর্যন্ত এটি আপডেট করা উচিত। যদি মাস্টারের আরও নতুন ফাইল থাকে তবে এটি দ্বন্দ্ব হওয়া উচিত এবং আপনি ত্রুটি বার্তাটি পাবেন। নিশ্চিত হয়েছি যে আমি যথেষ্ট উত্তর দিয়েছি, দয়া করে আমাকে বার্তা দিন :)
গেডিমিনাস

আমি সোর্সট্রি জিওআই এবং গিথুব সংগ্রহশালা হিসাবে ব্যবহার করছি। আমি মুক্তির পরীক্ষা দিয়ে 2 বার চেষ্টা করেছি tried মাস্টার সর্বশেষতম বিকাশ শাখার সাথে আপডেট হয়নি।
অমিত শাহ

আপনি যে শাখায় কাজ করছেন সেগুলি লাইভ github.com ওয়েবসাইটে ব্যবহার করার চেষ্টা করুন। তাদের কি ধাক্কা দেওয়া হচ্ছে? যদি হ্যাঁ, তবে একই শাখায় ক্লিক করার চেষ্টা করুন - মার্জ করুন এবং আপনি কী হবে তা দেখতে পাবেন। সোর্সট্রি সম্পর্কিত আমার ব্যক্তিগত অভিজ্ঞতাটি বেশ খারাপ - আমার শাখাগুলিতেও কী ঘটছে তা আমি পুরোপুরি বুঝতে সক্ষম হইনি
গেডিমিনাস

বিশদ ব্যাখ্যার জন্য জিডিমিনাসকে ধন্যবাদ। আপনার উত্তর পড়ার আগে আমি গিট কীওয়ার্ডগুলিতে বিভ্রান্ত হয়ে
পড়েছিলাম

21

আপনি গিট ফ্লো ওয়ার্কফ্লো ব্যবহার করতে পারলে দুর্দান্ত হবে । এটি মাস্টারে সহজেই বিকাশিত শাখা মার্জ করতে পারে।

আপনি যা করতে চান তা কেবল এখানে উল্লিখিত গিট-ফ্লো নির্দেশ অনুসরণ করুন:

ধাপ:

  • গিট-ফ্লো প্রকল্প সেটআপ করুন
  • শাখা তৈরি করুন এবং বিকাশের জন্য সমস্ত কিছু মার্জ করুন
  • কমান্ড চালান git flow release start <version_number>
  • তারপরে মুক্তির জন্য একটি অর্থবহ বার্তা সরবরাহ করুন
  • কমান্ড চালান git flow release finish <version_number>
  • এটি সবকিছুকে মাস্টারের সাথে একীভূত করবে এবং শাখাকে মাস্টারে পরিবর্তন করবে ।
  • git pushদূরবর্তী মাস্টারে পরিবর্তনগুলি প্রকাশ করতে কমান্ডটি চালান ।

আরও তথ্যের জন্য, পৃষ্ঠাটি দেখুন - http://danielkummer.github.io/git-flow-cheatsheet/


1
সমাধান যদি কেউ গিট ফ্লো ব্যবহার করে!
সিএসবা তোথ

21
1. //pull the latest changes of current development branch if any        
git pull (current development branch)

2. //switch to master branch
git checkout master 

3. //pull all the changes if any
git pull

4. //Now merge development into master    
git merge development

5. //push the master branch
git push origin master

9

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


6

আপনি যদি ম্যাক বা উবুন্টুতে থাকেন তবে শাখার কার্যকারী ফোল্ডারে যান। টার্মিনালে

ধরুন হরিসদেব হলেন শাখার নাম।

git checkout master

যদি ট্রেডবিহীন বা অপরিবর্তিত ফাইলগুলি থাকে তবে আপনি একটি ত্রুটি পেয়ে যাবেন এবং আপনাকে সমস্ত চিহ্নবিহীন বা অননুমোদিত ফাইলগুলি কমিট করতে বা মুছে ফেলতে হবে।

git merge harisdev 

git push origin master

শাখাটি মোছার জন্য একটি শেষ আদেশ command

$ git branch -d harisdev

ম্যাক বা উবুন্টুর সাথে এখানে কী নির্দিষ্ট?
টালোনেক্স

দুঃখিত। অন্যান্য উত্তরের কোনওটিতেই উল্লেখ করা হয়নি যে কমান্ডগুলি টার্মিনালে এবং শাখাটি মুছে ফেলার জন্য কমান্ড দেওয়া উচিত। প্রকৃতপক্ষে আমি কেবল শাখাটি মোছার জন্য কমান্ডটি যুক্ত করতে চেয়েছিলাম যাতে ভবিষ্যতে বিকাশকারীরা একই শাখার সাথে ঝামেলা না করে। আমি ম্যাক ব্যবহার করছি তাই আমি এটি উল্লেখ করেছি। আপনার প্রশ্নটি বৈধ এবং এই আদেশগুলির কোনওটিই ম্যাক বা উবুন্টুর সাথে নির্দিষ্ট নয়।
হারিস এনপি

স্পষ্ট করার জন্য ধন্যবাদ।
টালোনেক্স

5

ধাপ 1

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

git branch dev # create
git checkout dev # switch
# No need to git add or git commit, the current
# branch's files will be cloned to the new branch by-default.
git push --set-upstream origin dev # push the "dev" branch to the remote.

ধাপ ২

"দেব" শাখায় আপনার পরিবর্তনগুলি করুন (যদি আপনি পদক্ষেপ 1 অনুসরণ করেন তবে আপনার বর্তমান), প্রতিশ্রুতিবদ্ধ করুন এবং এগুলি দূরবর্তী "দেব" শাখায় ঠেলে দিন।

git add .
git commit -S -m "my first commit to the dev branch" # remove the -S if you're not "secure", secure = when you already setup crypto private and public keys (i.e "verified" green sign in github)
git push -u origin dev # push the changes to the remote, -u origin dev is optional but good to use.

ধাপ 3

আপনার "দেব" শাখাটিকে "মাস্টার" তে মার্জ করুন।

git checkout dev # switch to "dev" branch if you're not already.
git merge master # optionally, this command is being used to resolve any conflicts if you pushed any changes to your "master" but "dev" doesn't have that commit.
git checkout master # switch to "master", which is the branch you want to be merged.
git merge --no-ff dev # merge the "dev" branch into the "master" one.

4

আমি সাধারণত এটি করি। প্রথমে নিশ্চিত হয়ে নিন যে আপনি নিজের পরিবর্তনগুলি মাস্টারে মার্জ করতে প্রস্তুত।

  1. এর সাথে আপনার রিমোট সার্ভারের সর্বশেষ পরিবর্তনগুলির সাথে বিকাশ আপ টু ডেট কিনা তা পরীক্ষা করে দেখুন git fetch
  2. একবার আনার কাজ শেষ হয়েছে git checkout master
  3. নির্বাহের মাধ্যমে মাস্টার শাখার সর্বশেষ আপডেট রয়েছে তা নিশ্চিত করুন git pull
  4. একবার প্রস্তুতি শেষ হয়ে গেলে আপনি একত্রীকরণটি শুরু করতে পারেন git merge development
  5. এর সাথে পরিবর্তনগুলি ধাক্কা দিয়ে git push -u origin masterআপনি সম্পন্ন করেছেন।

আপনি নিবন্ধে গিট মার্জ করার বিষয়ে আরও জানতে পারেন ।


3

1) শাখা বিকাশে, নিম্নলিখিত কমান্ডটি ব্যবহার করে গিটের স্থিতি পরীক্ষা করুন:

git status

কোনও অনির্দিষ্ট কোড থাকা উচিত। যদি তা হয় তবে আপনার কোডটি বিকাশ শাখায় চাপ দিন:

git add *

git commit -m "My initial commit message"

git push origin Development

২) বিকাশ শাখায় দুটি কমান্ড অনুসরণ করুন:

git branch -f master HEAD

git push -f origin master

এটি আপনার বিকাশ শাখার কোডকে মাস্টার শাখায় ঠেলে দেবে।


এটি কি সমস্ত বিকাশকে পাশাপাশি আয়ত্ত করার প্রতিশ্রুতি দেয় বা কেবল মাস্টার হিসাবে একটি নতুন একক প্রতিশ্রুতি যুক্ত করে?
ছুয়ে

1
এটি আসলে কীভাবে কাজ করে? আপনি যখন বিকাশে থাকেন তখন বিশেষত "গিট ব্রাঞ্চ মাস্টার" দেখতে পাগলের মতো লাগে। যদি আপনি ইতিমধ্যে মাস্টার নামে একটি শাখা থাকে তবে আপনি মাস্টার নামে একটি নতুন শাখা কীভাবে তৈরি করতে পারেন? ডক্স বলছে যে -ফ এটি করে: <ব্র্যাঙ্কনামটি <স্টার্টপয়েন্ট> এ পুনরায় সেট করুন। এটার মানে কি?
জন লিটল

এই বাহিনী কি স্থানীয় মাস্টারকে দূরবর্তী মাস্টারের দিকে ঠেলে দিচ্ছে না? আপনি যদি দলে কাজ করছেন তবে এটি খারাপ ধারণা বলে মনে হচ্ছে।
নিক

-fপ্রস্তাবিত হয় না।
ডনসং

2

@ শৈলেশ এবং @ ডেভিডকल्पের উপর ভিত্তি করে:

(on branch development)
$ git fetch origin master
$ git merge FETCH_HEAD
(resolve any merge conflicts if there are any)
$ git checkout master
$ git merge --no-ff development (there won't be any conflicts now)

প্রথম কমান্ডটি নিশ্চিত করবে যে আপনার দূরবর্তী মাস্টারের কাছে সমস্ত প্রবাহের কমিট রয়েছে, সাইলেশের প্রতিক্রিয়া যা ঘটবে না।

দ্বিতীয়টি সংযুক্তি সম্পাদন করবে এবং দ্বন্দ্ব তৈরি করবে যা আপনি তখন সমাধান করতে পারেন।

এটি করার পরে, আপনি শেষ পর্যন্ত মাস্টারে স্যুইচ করতে মাস্টার চেকআউট করতে পারেন।

তারপরে আপনি উন্নয়ন শাখাটি স্থানীয় মাস্টারের সাথে মার্জ করুন। নো-এফএফ পতাকা পুরো মার্জটি ট্র্যাকযোগ্য হওয়ার জন্য মাস্টারে কমিট নোড তৈরি করবে।

এরপরে আপনি সংহত করতে এবং আপনার মার্জটিকে ধাক্কা দিতে পারেন।

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

Youচ্ছিকভাবে, আপনি যদি আপনার শাখার উন্নয়নের শাখায় কী করা হয়েছে তার একটি সংক্ষিপ্ত যোগ করতে চান, তবে আপনি এটি সংশোধন করার আগে নিজের সংশোধন প্রতিশ্রুতিটি সংশোধন করতে পারেন।

সম্পাদনা: আমার মূল উত্তরটি git merge masterএমন কিছু প্রস্তাব করেছিল যা কিছুই করেনি, git merge FETCH_HEADউত্স / মাস্টার আনার পরে এটি করা ভাল


2

একবার আপনি উন্নয়ন শাখা 'চেকআউট' করে দিলে আপনি ...

 git add .
 git commit -m "first commit"
 git push origin dev
 git merge master

 git checkout master 
 git merge dev
 git push origin master 

1

যদি আপনি জীবাণু ব্যবহার করে থাকেন তবে নীচের আদেশগুলি পুরোপুরি কার্যকর হয়।

git checkout master
git merge --no-ff development

আপনি ডিফল্ট প্রতিশ্রুতি বার্তা দিয়ে সংরক্ষণ করতে পারেন। নিশ্চিত হন, পরিবর্তন আইডি উত্পন্ন হয়েছে। আপনি নিশ্চিত করতে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন।

git commit --amend

তারপরে নিম্নলিখিত কমান্ডটি দিয়ে চাপ দিন।

git push origin HEAD:refs/for/refs/heads/master

আপনি নীচের মত একটি ত্রুটি বার্তা সম্মুখীন হতে পারে।

! [remote rejected] HEAD -> refs/for/refs/heads/master (you are not allowed to upload merges)

এটি সমাধানের জন্য, জীবাণু প্রকল্পের প্রশাসককে 'রেফস / ফর / রেফস / হেডস / মাস্টার' বা 'রেফস / ফর / রেফস / হেডস / *' (যা ভবিষ্যতে সমস্ত শাখা কভার করবে) নামে জীবাণুতে আরেকটি রেফারেন্স তৈরি করতে হবে। তারপরে এই রেফারেন্সটিতে 'পুশ মার্জ কমিট' অনুমতি দিন এবং জিসিআর জমা দেওয়ার প্রয়োজন হলে 'জমা দিন' অনুমতি দিন।

এখন, উপরের পুশ কমান্ডটি আবার চেষ্টা করুন, এবং এটি কাজ করা উচিত।

ক্রেডিট:

https://github.com/ReviewAssistant/reviewassistant/wiki/Merging-branches-in-Gerrit

https://stackoverflow.com/a/21199818/3877642


1

আমি মনে করি সবচেয়ে সহজ সমাধান হবে

git checkout master
git remote update
git merge origin/Develop -X theirs
git commit -m commit -m "New release"
git push --recurse-submodules=check --progress "origin" refs/heads/Master

এটি ব্যবহৃত সমস্ত শাখার ইতিহাসও সংরক্ষণ করে


-4
1. //push the latest changes of current development branch if any        
git push (current development branch)

2. //switch to master branch
git checkout master 

3. //pull all the changes if any from (current development branch)
git pull origin (current development branch)

4. //Now merge development into master    
git merge development

5. //push the master branch
git push origin master

Error
To https://github.com/rajputankit22/todos-posts.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/rajputankit22/todos-posts.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Then Use 
5. //push the master branch forcefully
git push -f origin master

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