একটি প্রকল্পের জন্য একই সময়ে কীভাবে বিটবাকেট এবং গিটহাব ব্যবহার করবেন?


95

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

গিটে এটি করার কোনও উপায় আছে?


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

উত্তর:


120

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

উদাহরণস্বরূপ, যদি আপনার প্রকল্পটি বর্তমানে গিথুবকে নির্দেশ করে তবে আপনি আপনার বর্তমান দূরবর্তী সংগ্রহস্থলটির নামকরণ করতে পারেন github:

$ git remote rename origin github

এরপরে আপনি অন্য একটি রিমোট রিপোজিটরি যুক্ত করতে পারেন, বলুন bitbucket:

$ git remote add bitbucket git@bitbucket.org:your_user/your_repo.git

এখন গিথুব বা বিটবাকেটে সম্পর্কিত শাখায় পরিবর্তনগুলি ঠেকাতে আপনি এটি করতে পারেন:

$ git push github HEAD
$ git push bitbucket HEAD

একই নিয়মটি টানতে প্রযোজ্য: আপনি কোন দূরবর্তী থেকে টানতে চান তা নির্দিষ্ট করতে হবে:

$ git pull github your_branch
$ git pull bitbucket your_branch

9
আগত ভবিষ্যতের লোকদের জন্য দ্রষ্টব্য, আপনার .ssh/configফাইলটি এই সেটআপটি অর্জনের মূল চাবিকাঠি। কোনটি ব্যবহার করবেন তা সনাক্ত করতে একটি Host github.comএবং একটি যুক্ত করুন । তারপরে আপনি বিটবাকেট এবং গিথুব এর মধ্যে পিছনে পিছনে বদলানোর চেষ্টা করা ত্রুটিগুলি অস্বীকার করবেন না। আশা করি এটি কাউকে সাহায্য করবে। Host bitbucket.orgIdentityFile
Ultimater

31

হ্যাঁ, আপনি এটি করতে পারেন। আপনাকে দু'বার ধাক্কা দিতে হবে না তবে দু'বার দূরবর্তী সংগ্রহস্থলীতে চাপ দিতে হবে। আমার আগে একই সমস্যা ছিল তাই এখানে এটি কীভাবে করা যায় তা লিখেছিলাম। গিট: গিথুব এবং বিটবকেট উভয়ের কাছ থেকে টানুন / টানুন


4
ভাল পোস্ট! আপনি যদি পারেন তবে এখানে একটি সংক্ষিপ্তসার অন্তর্ভুক্ত করা ভাল।
ওয়ানহোপি ফ্রিড

28

কয়েকটি সহজ সমাধান।

একাধিক রিমোটগুলি স্বাধীনভাবে চাপানো (এবং এনেছে)

এটি আপনার মাথা কাছাকাছি পাওয়া সবচেয়ে সহজ, তবে বজায় রাখার সর্বাধিক প্রচেষ্টা।

আমরা আমাদের নতুন রিমোট যুক্ত করে শুরু করি:

$ cd myproject 
$ git remote add bitbucket ssh://git@bitbucket.org/user/myproject.git 
$ git push bitbucket master

সোজা এগিয়ে না? অবশ্যই প্রতিবার যতবার আমরা পরিবর্তন আছি, ব্যতীত আমাদের আমাদের মূল "উত্স" এবং আমাদের নতুন দূরবর্তী "বিটবাকেট" উভয়কেই চাপ দেওয়া দরকার:

$ git push origin master
$ git push bitbucket master

খুব বেশি ওভারহেড নয়, তবে আমি নিশ্চিত যে এটি সময়ের সাথে সাথে ঘষতে থাকবে। অথবা আপনি একটি ইলিয়াস জিপিওব = "গিট পুশ অরিজিন মাস্টার && গিট পুশ বিটবাকেট মাস্টার" তৈরি করতে পারেন।

একাধিক ইউআরএল সহ একক রিমোট একটানা ধাক্কা (এবং এনেছে)

এই পদ্ধতির সাহায্যে আমরা আমাদের বিদ্যমান দূরবর্তী "উত্স" এ একটি অতিরিক্ত URL যুক্ত করতে যাচ্ছি:

$ cd myproject
$ git remote set-url --add origin ssh://git@bitbucket.org/user/myproject.git
$ git push origin master
Everything up-to-date
Everything up-to-date

অনেক কম প্রচেষ্টা!

অবশ্যই সিলভার লাইনের একটি মেঘ রয়েছে এবং এই ক্ষেত্রে আমরা এক সাথে একাধিক ইউআরএল ঠেকাতে পারি, আমরা কেবলমাত্র মূল "উত্স" থেকে আনতে পারি (আপনি এটি পরিবর্তন করতে পারেন, তবে এটি এই পোস্টের সুযোগের বাইরে নয়) )।

শেষ অবধি, কোন রিমোট থেকে এড়ানো হবে তা দেখতে:

$ git remote -v show

আমি এটি সম্পর্কে ব্লগ

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.