গিট-এনেক্স ইনস্টল না করে সার্ভারে গিট অ্যানেক্সকে হোস্টিং করা হচ্ছে


9

মেশিন এ এবং বি একটি সাধারণ গিট এনেক্স রিপোজিটরি হোস্ট করে। তাদের উভয়েরই গিট-এনেক্স প্রোগ্রাম ইনস্টল করা আছে এবং আমি উভয় মেশিনে ম্যানুয়ালি সম্পাদনা / প্রতিজ্ঞা / ইত্যাদি স্টাফ করি। এ এবং বি একই সাথে ইন্টারনেটে সংযুক্ত নেই, সুতরাং এগুলি সরাসরি একসাথে সিঙ্ক করা যায় না।

সার্ভার সি সর্বদা চালু থাকে এবং সংযুক্ত থাকে (এবং বিনামূল্যে এবং বেশ সুরক্ষিত)। এটিতে গিট ইনস্টল করা আছে তবে আমার অ্যাডমিনের অধিকার নেই তাই আমি গিট-এনেক্স ইনস্টল করতে পারি না।

আমার প্রশ্ন: গিট-অ্যানেক্স এবং পুরো হ্যাশেল জিএসিসি নির্ভরতা সি এর উপর ইনস্টল না করেই আমি এ এবং বি উভয় থেকে গিট-এনেক্স আপডেট আপডেট করতে এবং টানতে সেন্ট্রাল হাব হিসাবে সার্ভার সি ব্যবহার করতে পারি?

আমি "ডিরেক্টরি" বা "আরএসসিএনসি" বিশেষ রিমোটগুলির সাহায্যে সি ব্যবহার করার চেষ্টা করেছি , তবে এটি কেবল ফাইলগুলি ধরে রাখবে বলে মনে হচ্ছে, ধাক্কা / টানা পরে এ এবং বি আপডেট করার জন্য যা দরকার তা নয়।

কোন ইঙ্গিত অনেক প্রশংসা হবে!

উত্তর:


6

একই সার্ভারে গিট এবং আরএসএনসি এক্সেসের সাহায্যে আপনি সেই সার্ভারটি ইতিহাস (গিট অ্যাক্সেসের মাধ্যমে) এবং অ্যাঙ্কেক্স কী-মান স্টোর (আরএসআইএনসি অ্যাক্সেসের মাধ্যমে) সংরক্ষণ করতে পারেন store এগুলি বিভিন্ন সার্ভারের যে কোনও সংখ্যায় ডিকপলড এবং সঞ্চয় করা যেতে পারে।

দেখে মনে হচ্ছে আপনার প্রয়োজনীয় সমস্ত সরঞ্জাম আপনি ইতিমধ্যে পড়েছেন। মূলত, আপনি দু'টি আলাদা আলাদা রিমোট দিয়ে শেষ করবেন, উভয়ই সার্ভার-সি-তে বিভিন্ন অবস্থানের দিকে ইঙ্গিত করছেন। প্রথম রিমোট (সার্ভার-সি) হ'ল গিটি রেপোতে সরাসরি যাচাই করা আপনার ইতিহাস এবং যে কোনও কিছু সিঙ্ক্রোনাইজ করার জন্য নিয়মিত গিট রিমোট। দ্বিতীয় রিমোটটি একটি বিশেষ বিশেষ রিমোট।

[remote "server-c"]
    url = git@example.com:/path/to/repo.git
    fetch = +refs/heads/*:refs/remotes/server-c/*
[remote "server-c-rsync"]
    annex-rsyncurl = example.com:/home/user/annex-rsync
    annex-uuid = ...

আপনি এর লাইন বরাবর কিছু দিয়ে সেট আপ করতে সক্ষম হওয়া উচিত:

git remote add server-c git@example.com:/path/to/repo.git
git annex initremote server-c-rsync type=rsync rsyncurl=example.com:/home/user/annex-rsync encryption=none

এটি আপনি যে প্রাথমিক কার্যকারিতাটি সন্ধান করছেন তা পাওয়া উচিত। কেবলমাত্র খারাপ দিকটি হ'ল আপনার কাছে 2 টি পৃথক দূরবর্তী নাম রয়েছে যা সত্যিই একই সার্ভারে নির্দেশ করে। --To = বা --from = প্রাপ্ত, অনুলিপি এবং সরানোর আর্গুমেন্ট ব্যবহার করার সময় বিশেষত আপনাকে বিশেষ দূরবর্তী (সার্ভার-সি-আরএসএনসি) ব্যবহার করতে হবে।

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

git init
git annex init "test"
git remote add server-c git@example.com:/path/to/repo.git
git annex initremote server-c type=rsync rsyncurl=example.com:/rsync/user encryption=none

আমার জন্য এই ফলাফলটি ইউআরএল = (সাধারণ গিট অপারেশনের জন্য) এবং একটি সংযুক্তি-আরএসসিঙ্করল = উভয়ের সাথেই একক রিমোট .git / কনফিগারে ফলাফল করে। যাইহোক, আমি এগুলি আরও পরীক্ষা করে দেখিনি যে গিট অ্যানেক্সটি ইউআরএলকে উপেক্ষা করে এবং সংযুক্ত ফাইলগুলি পরিচালনা করার সময় কেবলমাত্র এনেক্সেক্স-আরএসসিঙ্করাল এন্ট্রি ব্যবহার করে।


গ্রেট! আমি কিছু টেস্টিং করব, তবে এটি আমার পক্ষে একটি কার্যক্ষম সমাধানের খুব কাছাকাছি হওয়া উচিত। আপনার সময় এবং উত্তরের জন্য অনেক ধন্যবাদ!
ভিনসেন্ট

আমি সাহায্য করতে পেরে আনন্দিত. আমি কেবল ছুটির বিরতিতে গিট অ্যাঙ্কেক্সটি ব্যবহার শুরু করেছি এবং এখনও পর্যন্ত আমি এতে অত্যন্ত খুশি!
জাস্টিন গীবেল

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