আমার কাছে একটি ভান্ডার রয়েছে যা আমি বিটবাকেট এবং গিটহাবের মধ্যে চাপতে চাই। আমার সংগ্রহশালা দুটির দ্বারা হোস্ট করা অত্যাবশ্যক।
গিটে এটি করার কোনও উপায় আছে?
আমার কাছে একটি ভান্ডার রয়েছে যা আমি বিটবাকেট এবং গিটহাবের মধ্যে চাপতে চাই। আমার সংগ্রহশালা দুটির দ্বারা হোস্ট করা অত্যাবশ্যক।
গিটে এটি করার কোনও উপায় আছে?
উত্তর:
আপনি গিট সহ একাধিক রিমোট রিপোজিটরিগুলি ব্যবহার করতে পারেন। তবে আমি বিশ্বাস করি যে আপনার যে দুটি রিমোটগুলিকে আমি বিশ্বাস করি সেগুলিতে আপনাকে আলাদাভাবে চাপ দিতে হবে।
উদাহরণস্বরূপ, যদি আপনার প্রকল্পটি বর্তমানে গিথুবকে নির্দেশ করে তবে আপনি আপনার বর্তমান দূরবর্তী সংগ্রহস্থলটির নামকরণ করতে পারেন 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
.ssh/config
ফাইলটি এই সেটআপটি অর্জনের মূল চাবিকাঠি। কোনটি ব্যবহার করবেন তা সনাক্ত করতে একটি Host github.com
এবং একটি যুক্ত করুন । তারপরে আপনি বিটবাকেট এবং গিথুব এর মধ্যে পিছনে পিছনে বদলানোর চেষ্টা করা ত্রুটিগুলি অস্বীকার করবেন না। আশা করি এটি কাউকে সাহায্য করবে। Host bitbucket.org
IdentityFile
হ্যাঁ, আপনি এটি করতে পারেন। আপনাকে দু'বার ধাক্কা দিতে হবে না তবে দু'বার দূরবর্তী সংগ্রহস্থলীতে চাপ দিতে হবে। আমার আগে একই সমস্যা ছিল তাই এখানে এটি কীভাবে করা যায় তা লিখেছিলাম। গিট: গিথুব এবং বিটবকেট উভয়ের কাছ থেকে টানুন / টানুন
কয়েকটি সহজ সমাধান।
এটি আপনার মাথা কাছাকাছি পাওয়া সবচেয়ে সহজ, তবে বজায় রাখার সর্বাধিক প্রচেষ্টা।
আমরা আমাদের নতুন রিমোট যুক্ত করে শুরু করি:
$ 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
আমি এটি সম্পর্কে ব্লগ ।