আপনি যা জিজ্ঞাসা করছেন তা আমি সত্যিই নিশ্চিত নই আপনি বলছেন যে আপনি নিজের সার্ভারে হোস্ট করতে চান তবে আপনার প্রশ্ন বলছে আপনি গিটল্যাব পৃষ্ঠাগুলির মতো হোস্ট করতে চান যা আপনার নিজের সার্ভার নয়।
যে কোনও ক্ষেত্রে সম্ভবত এটি সাহায্য করবে
এই আমি কি কি
স্থানীয় পিসি উপর
mkdir folderforwebsite
cd folderforwebsite
git init
echo "hello world" > index.html
git add index.html
git commit -m "initial commit"
আমার এখন স্থানীয়ভাবে একটি রেপো আছে। এটি সার্ভারে অনুলিপি করুন
scp -r ../folderforwebsite username@mydomain.com:/path/from/root/to/webfolder
এখন আমার এটি রিমোট সার্ভারে রয়েছে।
ssh name@mydomain.com 'cd path/to/webfolder; git checkout -b live`
ওয়েবসাইটে এখন একজন মাস্টার এবং লাইভ ব্রাঞ্চ রয়েছে। আমি এটিএএএএফসিটি করার পর থেকে আপনি বর্তমান শাখায় ঠেলাতে পারবেন না। সুতরাং এখন আমাদের একটি "লাইভ" শাখা রয়েছে যা রিমোটে বর্তমান এবং একটি "মাস্টার" শাখা নেই যা নেই
অবশেষে আমার স্থানীয় রেপোতে একটি রিমোট যুক্ত করুন
git remote add web ssh://name@mydomain.com/path/from/root/to/webfolder
এখন, যে কোনও সময় আমি ওয়েবসাইটটি আপডেট করতে চাই আমি আমার স্থানীয় মাস্টার শাখায় স্টাফ চেক করি এবং তারপরে এই স্ক্রিপ্টটি চালিত করি
#!/bin/sh
set -e
set -v
git push web master
ssh username@mydomain.com git merge --ff-only master
git pushওয়েবসার্ভার উপর অ বর্তমান শাখায় আমার পরিবর্তনগুলি push কর্মের। sshবর্তমান শাখায় "মাস্টার" পরিবর্তন ওয়েবসার্ভার মধ্যে এবং দ্রুত ফরোয়ার্ড তারপর লগ। এই ক্ষেত্রে "লাইভ" শাখা।
--ff-only সার্ভারে কিছু পরিবর্তন থাকলে ব্যর্থ হতে বলে।
সার্ভারে যদি কোনও পরিবর্তন হয় তবে আমি এগুলিকে আমার স্থানীয় মাস্টারের সাথে টানতে পারি
git pull web live
আরও জিনিস। আমি এর যে কোনটি করার আগে আমি রিমোট সার্ভারে এসএসএইচ কী সেটআপ করি যাতে আমার কোনও পাসওয়ার্ড টাইপ করতে হয় না
গিথুব বা গিটল্যাবের সাথে এর কোনও যোগসূত্র নেই। আমি আমার পরিবর্তনগুলিও সেখানে চাপ দিতে পারি তবে তারা সংযুক্ত নেই not