আমি কীভাবে এসএসএইচ-এর একটি ফোল্ডারে গিট সংগ্রহস্থলটি ঠেলাতে পারি?


53

আমার ভিতরে আমার-প্রজেক্ট নামে একটি ফোল্ডার রয়েছে যার মধ্যে আমি গিট থ্রি , গিট কমিট-এ , ইত্যাদি সম্পন্ন করেছি

এখন আমি এটিকে একটি দূরবর্তী সার্ভারের / mnt / foo / বারে একটি ফাঁকা ফোল্ডারে ঠেলাতে চাই।

কিভাবে আমি এটি করতে পারব?

আমি যা পড়েছি তার উপর ভিত্তি করে চেষ্টা করেছি:

cd my-project
git remote add origin ssh://user@host/mnt/foo/bar/my-project.git
git push origin master

যা সঠিক মনে হয়নি (আমি ধরে নিই উত্সটি গন্তব্যের আগে আসবে) এবং এটি ব্যর্থ হয়েছিল:

fatal: '/mnt/boxee/git/midwinter-physiotherapy.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

আমি এটি এমন কাজ করতে চাই যাতে আমাকে রিমোট হোস্টটি অ্যাক্সেস করতে হবে না এবং প্রতিবার নিজেই একটি গিট রিপোজিটরি চালাতে হবে ... আমাকে কি তা করতে হবে? আমি কি আদৌ সঠিক পথে যাচ্ছি?

ধন্যবাদ।

উত্তর:


56

আদেশটি সঠিক; তবে, দূরবর্তী ঠিকানাটি অবশ্যই একটি প্রাথমিক গিট সংগ্রহস্থলের দিকে নির্দেশ করতে হবে। যদিও এটি এককালীন কাজ।

ssh user@host "git init --bare /mnt/foo/bar/my-project.git"

(গিটে, একটি "খালি" সংগ্রহস্থল একটি কার্যক্ষম গাছ ছাড়া একটি))


11

আপনি যদি উভয়ই রেপোতে চাপতে চান এবং সার্ভারে ফাইল আপডেট করতে চান তবে ফাইলগুলি ধাক্কা দেওয়ার পরে আপনি চেকআউট করার জন্য একটি সার্ভার-সাইড গিট হুক তৈরি করতে পারেন। ইন সার্ভার সাইড Git /hooks/ডিরেক্টরি নামের একটি ফাইল তৈরি post-receiveযোগ নিম্নলিখিত কোড (আপনার ফোল্ডারের গঠন মেলে ডিরেক্টরি আপডেট):

#!/bin/sh
git --work-tree=/var/www/domain.com --git-dir=/var/repo/site.git checkout -f

তারপরে ফাইলটি ব্যবহার করে যথাযথ অনুমতি দিন chmod +x post-receive

আরও তথ্য এবং এখানে একটি বিশদ বিবরণ: https://www.digitalocean.com/commune/tutorials/how-to-set-up-automatic-dep دام-wit-git-with-a- vps


2

আপনি যদি সার্ভারে ম্যানুয়ালি সংগ্রহশালা তৈরি করতে না চান তবে আপনি গিটোসিসটি ইনস্টল করতে পারেন যা প্রক্রিয়াটি স্বয়ংক্রিয়ভাবে চালিত করবে। সংগ্রহস্থল তৈরি করতে আপনার সার্ভারে কিছু প্রক্রিয়া থাকতে হবে - আপনি ক্লায়েন্টের গিট এসএসএস সংযোগের মাধ্যমে এটি করতে পারবেন না।

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