গিট সংগ্রহস্থলের সদৃশ কীভাবে করবেন? (কাঁটা ছাড়া)


117

আমার দুটি সংগ্রহস্থল রয়েছে এবং আমার খালি একটিতে সম্পূর্ণরূপে অনুলিপি করা দরকার যা প্রথমটির থেকে আলাদা অ্যাক্সেস স্তর রয়েছে। অনুলিপি এবং মাদার সংগ্রহস্থল একসাথে লিঙ্ক করা উচিত নয়।

আমি গিটে নতুন এবং যদি কেউ আমাকে এটির জন্য সহায়তা করতে পারে তবে তা দুর্দান্ত।


5
নিশ্চিত নয়, তবে আমি অনুমান করি যে আপনি কেবল এটি ক্লোন করতে পারেন এবং তারপরে আপনার নতুন রেপিতে রিমোট.অরগিন সেট করতে গিট কনফিগারেশন রিমোট.রিগিন.ইউইল গিট: //new.url/proj.git ব্যবহার করতে পারেন।
রুফিনাস

হ্যাঁ আমি সবেমাত্র পোস্ট করা লিঙ্কটি এরকম কিছু করে।
এনবিজেড

@ রুডিনাস আমি তা-ই করেছি। ধন্যবাদ।
কাউভয়বিবপ

উত্তর:


205

Https://help.github.com/articles/duplicating-a-repository দেখুন

সংক্ষিপ্ত সংস্করণ:

সঠিক নকল তৈরি করতে, আপনাকে একটি খালি-ক্লোন এবং একটি আয়না-পুশ উভয়ই সম্পাদন করতে হবে:

mkdir foo; cd foo 
# move to a scratch dir

git clone --bare https://github.com/exampleuser/old-repository.git
# Make a bare clone of the repository

cd old-repository.git
git push --mirror https://github.com/exampleuser/new-repository.git
# Mirror-push to the new repository

cd ..
rm -rf old-repository.git  
# Remove our temporary local repository

দ্রষ্টব্য: উপরেরগুলি যে কোনও দূরবর্তী গিট রেপোর সাথে সূক্ষ্মভাবে কাজ করবে, নির্দেশগুলি গিথুবের জন্য নির্দিষ্ট নয়

উপরেরটি রেপোর একটি নতুন রিমোট কপি তৈরি করে। তারপরে এটি আপনার কার্যকারী মেশিনে ক্লোন করুন।


2
যদি পুরানো এবং নতুন সংগ্রহস্থলের একই নাম থাকে (একই গিট URL নয়) তবে কী হবে। যেমন আমি কেবল Jeremy.gitঅন্যটিতে ক্লোন করেছিJeremy.git
Gran_profaci

এটি হুবহু সদৃশ হবে না। ইস্যু স্থানান্তরিত হবে না।
স্ল্যাম

এটি কি ইতিহাস সংরক্ষণ করে?
টমাস

@ থমাস আমি সবেমাত্র এটি করেছি এবং হ্যাঁ, এটি আমার সমস্ত ইতিহাস অনুলিপিতে সংরক্ষণ করেছে। মনে রাখবেন আপনি নতুন রেপোতে চাপ দেওয়ার পরে সিডি করার পরেও এখনও কিছুই নেই কারণ আপনি
রিমোটে চলে এসেছেন

7
গিটহাবের সাথে কাজ করার এই উত্তরের জন্য, প্রথমে গিটহাবে নতুন-সংগ্রহস্থল তৈরি করতে হবে।
অ্যালেক্স হলকম্ব

22

আপনি গিট-কপিও ব্যবহার করতে পারেন ।

এটি জহর দিয়ে ইনস্টল করুন,

gem install git-copy

তারপর

git copy https://github.com/exampleuser/old-repository.git \
    https://github.com/exampleuser/new-repository.git

1
আপনি প্রথম স্থানে রত্নটি কীভাবে ইনস্টল করবেন? এটি সবচেয়ে ঝামেলা-মুক্ত সমাধানের মতো বলে মনে হচ্ছে। সম্মত!
saran3h

এটি সাধারণত রুবি ইনস্টলের অংশ is উবুন্টু কর sudo apt install ruby
ক্ষতি

9

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


4
এটি নিখুঁতভাবে কাজ করে এবং এমনকি ইতিহাস বজায় রাখে - আরও উচ্চতর হওয়া উচিত
জন ডি

1
আমি রাজী. এই পদ্ধতিরটি অনেক বেশি স্বজ্ঞাত, এটি পুরোপুরি গিথুব জিইউআইয়ের মধ্যে করা যেতে পারে এবং এই বিভ্রান্তিকর কমান্ড লাইনটি বাজে কোনও জড়িত না। পদক্ষেপ: ১) জিইউতে নতুন রেপো তৈরি করুন তবে "এই সংগ্রহস্থলটি একটি পুনরায় শুরু করুন" লেবেলযুক্ত চেক বাক্সটিতে ক্লিক করবেন না আপনি এই কাজটি করার পরে গিথুব আপনাকে একটি নতুন পৃষ্ঠা এবং একটি লেবেলযুক্ত একটি বিকল্প "... অথবা কোড আমদানি করে উপস্থাপন করবে অন্য একটি ভান্ডার। " এটাই!
লুক এফ

5

আপনি যদি কেবল বিদ্যমান কোনও (যেমন, এক ধরণের টেম্পলেট হিসাবে) থেকে সমস্ত বা বেশিরভাগ ফাইল ব্যবহার করে একটি নতুন সংগ্রহশালা তৈরি করতে চান তবে আমি সবচেয়ে সহজ পদ্ধিতিটি পছন্দ করি যে পছন্দসই নাম ইত্যাদি দিয়ে একটি নতুন রেপো তৈরি করা, এটি ক্লোন করুন আপনার ডেস্কটপ, তারপরে এতে আপনি চান ফাইল এবং ফোল্ডারগুলি জুড়ুন।

আপনি সমস্ত ইতিহাস ইত্যাদি পান না তবে আপনি সম্ভবত এই ক্ষেত্রে এটি চান না।


-1

ওপেন টার্মিনাল।

ভান্ডারগুলির একটি খালি ক্লোন তৈরি করুন।

গিট ক্লোন --bare https://github.com/exampleuser/old-repository.git

Mirror-push to the new repository.

সিডি Old-repository.git

গিট পুশ - এমিরর https://github.com/exampleuser/new-repository.git


আমি আপনার পদ্ধতির চেষ্টা করেছি। এবং আমি এই ত্রুটি বার্তা পেয়েছি:! [রিমোট প্রত্যাখ্যান] মাস্টার -> মাস্টার (প্রাক-প্রাপ্ত হুক প্রত্যাখ্যানিত) এবং আরও কয়েকটি অনুরূপ বার্তা। শেষটি ছিল: ত্রুটি: কিছু রেফ চাপাতে ব্যর্থ আমি কীভাবে এটি সংশোধন করতে পারি?
এলএনডি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.