আমি কীভাবে গিট রেপো ব্যাকআপ করব?


26

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

আমার প্রকল্প থেকে টেনে আমি কি আলাদা ড্রাইভ এবং আপডেটে একটি ক্লোন তৈরি করব? তারপরে আমি এই ফোল্ডারটি বার্ন / সংরক্ষণ করতে পারি এবং এতে সমস্ত ইতিহাস থাকবে?

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


আরও দেখুন: একটি গিটহাবের সংগ্রহশালা ব্যাকআপ করুন (উত্তরগুলিও নন-গিটহাব গিট প্রকল্পগুলির জন্য কাজ করে)
মার্টিন থোমা

উত্তর:


14

আপনি শুধু এটি কপি। গিট একটি রেপো ফোল্ডার ব্যবহার করে , এটি কেবলমাত্র সাধারণ ডিরেক্টরি দর্শন থেকে গোপন থাকে। (ফোল্ডারটির নাম .git* নিক্স সিস্টেমে রাখা হয়েছে, সুতরাং এটি আপনি কেবল ব্যবহার করলেই তা উপস্থিত হয় ls -aI কিভাবে এটি পরিচালনা করা হয়।)


আমার ট্রাঙ্কে কয়েকটি প্রকল্প ফাইল রয়েছে যা আমি উপেক্ষা করছি। সুতরাং আমি আক্ষরিক এটি কপি করতে পারি? (আমি ধরে নেব এটি লিনাক্সের মতো একইভাবে কাজ করে)। ক্লোন কি কেবল একটি ফাইল অনুলিপি হয়? আমি অনুমান করি যে আমি চাইলে সমস্ত ডেটা ফোল্ডারে থাকে কিনা। আমি পরীক্ষা করেছি সেখানে .git ফাইল আছে তবে আমার এসএনএন ট্রাঙ্কে .svn ফাইল রয়েছে এবং ইতিহাসের ডেটা সেখানে আছে কিনা তা যাচাই করতে ভাবিনি

2
উইন্ডোজে, এটি এখনও .git"লুকানো" বৈশিষ্ট্য সহ।
মাধ্যাকর্ষণ

1
@ অ্যাসিডজম্বি 24: .gitডিরেক্টরিতে ইতিহাস সহ পুরো সংগ্রহস্থল রয়েছে । (এটি "বিতরণ করা" অংশ))
গ্রাভিটি

5
@ গ্রাটিউইটি: এটি আরও "স্ব-সংযুক্ত" অংশ, বিতরণ করা অংশটি যখন আপনি স্ব-কন্টিনেটেড সংগ্রহস্থলের মধ্যে পার্থক্য বিনিময় করেন :)
আকীরা

19

আকির উত্তরটি সঠিক, তবে আপনি একটি খালি রেপো তৈরি করতে সামান্য সংযুক্তি যুক্ত করতে পারেন (কিছুটা ছোট ব্যাকআপের জন্য)।

আমরা নিম্নলিখিত কৌশলটি ব্যবহার করি (প্রায় ঠিক)

git clone --mirror yourrepo backup.repo
tar cjf backup.repo.tar.bz2 backup.repo
scp backup.tar.bz2 ssh://somewhereelse

তারপরে, আপনার ব্যাকআপ থেকে পুনরুদ্ধার করতে:

tar xjf backup.repo.tar.bz2
git clone backup.repo yourrepo

2
ধন্যবাদ এটি ধন্যবাদ। কাজের গাছটি পুনরুদ্ধার করতে আমি কীভাবে ব্যাক আপ আপ ব্যবহার করব?
জোনাথন দিন

10

আমি ব্যবহার করছি Git বান্ডিল । একটি অনুলিপি ফাইল তৈরি করার জন্য (একটি ব্যাকআপ ফাইল) এক্সিকিউট করুন:

git bundle create backup.bundle master

শাখা মাস্টারের সাহায্যে সংগ্রহস্থলটি পুনরুদ্ধার করতে ব্যাকআপ.বান্ডেল ফাইলটি কেবল ক্লোন করুন:

git clone backup.bundle -b master my-project

2

অন্য কোথাও একটি নতুন ক্লোন তৈরি করুন:

 % git clone yourepo somewhereelse

BTW, Git হয়েছে একটি রেপো ফোল্ডারের, আপনি এটি সাব নীচে আপনার কাজের কপিতে সনাক্ত করতে পারেন .git। প্রতিটি কাজের অনুলিপিটিতে সেই "রেপো ফোল্ডার" থাকে।


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