কোনও প্রকল্পের একাধিক উত্স থাকতে পারে?


187

গিটে কোনও প্রকল্পের দুটি (বা আরও) "উত্স" থাকতে পারে?

আমি গিথুব এবং হিরোকু সার্ভার উভয়কেই একক প্রকল্পে চাপ দিতে চাই ।

বিশেষত, গিথুব সংগ্রহস্থল যুক্ত করার সময় এই ত্রুটিটি উপস্থিত হয়:

$ git remote add origin https://github.com/Company_Name/repository_name.git
fatal: remote origin already exists.

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

এক্ষেত্রে সংগ্রহস্থলের নাম আলাদা। "উত্স" শব্দটি কি এমন একটি নাম যা পরিবর্তন করা যায়?
ক্রিস ডাট্রো

4
হ্যাঁ git remote rename <old> <new>,: linux.die.net/man/1/git-remote । তবে আপনি গিথুব সংগ্রহশালার নামও আলাদাভাবে রাখতে পারেন ...
ফেলিক্স ক্লিং


এবং রিমোটগুলির মধ্যে একটিটিকে ডিফল্টরূপে তৈরি করা কি সম্ভব যাতে প্রতিবার আমি ধাক্কা দিচ্ছি সেই দূরবর্তীটির নাম স্পষ্টভাবে লিখতে বলা হয়নি?
40 ডিটেকটিভ

উত্তর:


275

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

পরিবর্তে "গিথুব" নামে একটি রিমোট যুক্ত করার চেষ্টা করুন:

$ git remote add github https://github.com/Company_Name/repository_name.git

# push master to github
$ git push github master

# Push my-branch to github and set it to track github/my-branch
$ git push -u github my-branch

# Make some existing branch track github instead of origin
$ git branch --set-upstream other-branch github/other-branch

4
এই প্রশ্নের পক্ষে সর্বোচ্চ ভোট সহ উত্তরের দ্বারা নির্দেশিত হিসাবে এটি সম্ভবত নকল - একটি রিমোট একাধিক সংগ্রহস্থলকে উল্লেখ করতে পারে। অতএব আপনি একটি দূরবর্তী স্থানে যেতে পারেন এবং দুটি বা আরও বেশি সংগ্রহস্থল আপডেট করতে পারেন, যদিও এটি অপটির লক্ষ্য কিনা clear
AD7six

আপনি কেন এটি করতে চাইবেন তার কয়েকটি ব্যবহারিক উদাহরণ কী? আপনি কেন একটি ডিরেক্টরিতে বিভিন্ন সংগ্রহস্থলের দিকে নির্দেশিত করবেন? প্রতিটি সংগ্রহস্থলের সাধারণত নিজস্ব ডেডিকেটেড দির থাকে
ডিসপেসেজেস

4
@ মাইটিস্পজ সুন্দর যে হিরোকুতে নিযুক্ত প্রত্যেকেরই একটি রিমোট কল originএবং একটি রিমোট কল রয়েছে heroku
মেগার

@ মাইটিস্পাজ, অথবা যদি আপনার দল কাঁটাচামচ ব্যবহার করে এবং আপনি মাঝে মাঝে সেগুলিতে অ্যাক্সেস করতে চান। আমরা আমাদের টিমে বিভিন্ন ইউটিসিতে দলগুলির সাথে কাজ করে যাচ্ছি যাতে আমরা যখন পিআরএস অনুমোদন করি তখন আমরা সেখানে কাঁটাচামচ ব্যবহার করে সেখানে পক্ষ থেকে রিবেস / চাপ দিতে পারি এবং আগামীকাল নয়, এখন কোডটি মার্জ করতে সক্ষম হয়েছি)।
বেনোইট ড্রিপো

নতুন রিমোটে একবারে সমস্ত স্থানীয় শাখা ঠেকানোর কোনও উপায় আছে কি?
তানাসিস

89

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

উত্সের দূরবর্তীটিতে অন্য একটি URL যুক্ত করতে নিম্নলিখিত কমান্ডটি ব্যবহার করে আপনি এটি অর্জন করতে পারেন।

git remote set-url --add origin ssh://git@bitbucket.org/user/myproject.git

8
এ সম্পর্কে আরও ভাবনার জন্য, এই প্রশ্নটি দেখুন
moi

3
ঠিক আছে, তাহলে আমি এই সমস্তটি মুছে না দিয়ে কীভাবে এই উত্সটির একটি মুছব?
মাইকেল 23

./git/config
@ মিশেল

8
@Michaelgit remote set-url --delete origin ssh://git@bitbucket.org/user/myproject.git
Afrig আমিনউদ্দিন

সমস্ত রিমোটগুলির একই প্রতিশ্রুতিবদ্ধ ইতিহাস থাকতে হবে? আমি যদি কিছু নির্দিষ্ট প্রতিশ্রুতি এক দূরবর্তী এবং
কাসিম

44

এখানে একাধিক রিমোট, গিটহাব ও গিটল্যাব সহ একটি নমুনা প্রকল্প রয়েছে:

  1. গিটহাবের জন্য দূরবর্তী রেপো যুক্ত করুন

    $ git remote add github https://github.com/Company_Name/repository_name.git
    
  2. গিটল্যাবের জন্য দূরবর্তী রেপো যুক্ত করুন

    $ git remote add gitlab https://gitlab.com/Company_Name/repository_name.git
    
  3. এখন আপনার প্রকল্পে একাধিক রিমোট রয়েছে। সঙ্গে ডাবল চেকgit remote -v

    $ git remote -v
    github https://github.com/Company_Name/repository_name.git (fetch)
    github https://github.com/Company_Name/repository_name.git (push)
    gitlab https://gitlab.com/Company_Name/repository_name.git (fetch)
    gitlab https://gitlab.com/Company_Name/repository_name.git (push)
    
  4. আপনি একাধিক সংগ্রহস্থলে কীভাবে চাপ দিন?

    $ git push github && git push gitlab
    

2
শুধু $ git pushসমস্ত রিমোটগুলিতে চাপ দেবে না ?
ওয়াটার কুলার ভি

আমাদের যখন সমস্যা আছে তখন আমি গিথাবকে ধাক্কা দেওয়ার চেষ্টা করি তখন গিটল্যাবে স্বয়ংক্রিয় ধাক্কা। আপনি কি আমাকে সাহায্য করতে পারেন? আমি একের পর এক উত্সাহ দিতে চাই।
মিতুল মারসোনিয়া

গিটল্যাবে দুটি প্রকল্প, দুটি ভাণ্ডার থাকলে আমি কীভাবে এটি দিয়ে কাজ করব? আমি একটি প্রকল্প থেকে কোড পেয়ে অন্য প্রকল্পে এটি ধাক্কা?
মুজি জ্যাক 11

2

আপনি উত্সের পরিবর্তে আলাদা আলাদা নাম দেওয়ার মাধ্যমে আপনার সংগ্রহস্থলে আরও একটি রিমোট অ্যাকাউন্ট যুক্ত করতে পারেন। আপনি অরিজিন 2 এর মতো নাম ব্যবহার করতে পারেন। সুতরাং আপনার গিট কমান্ড হিসাবে হিসাবে পরিবর্তন করা যেতে পারে

git remote add origin2 https://github.com/Company_Name/repository_name.git


1
git remote set-url --add --push origin git@github.com:user/my-project.git
git remote set-url --add --push origin git@bitbucket.org:user/my-project.git

এখন আপনার 2 উত্স আছে।


1
এই উত্তরটি --pushবিকল্পের জন্য ধন্যবাদ অন্যদের চেয়ে বেশি সহায়ক / পরিশ্রুত ।
দিমিত্রি জায়তসেভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.