হ্যাঁ, এই অবশ্যই সম্ভব।
চলুন বলেছি আমার নামে একটি বেয়ার রিপোজিটরি আছে /srv/production.git
গন্তব্য সিস্টেম / সার্ভারে।
গন্তব্য সিস্টেমে আমি কমান্ডটি ব্যবহার করতে পারি cd /srv/production.git; GIT_WORK_TREE=/srv/production-www/ git checkout -f
যদি আমি একটি অ-ন্যূনতম সংগ্রহস্থলের মধ্যে থাকি তবে কমান্ডটি সামান্য ভিন্ন। চলুন আমি একটি অ-বেয়ার রিসোজিটরি আছে বলে /srv/testing
। চেকআউট যে আমি ব্যবহার করতে হবে cd /srv/testing/.git; GIT_WORK_TREE=/srv/production-www/ git checkout -f
আসলে আমার সিস্টেমে আমি এমনকি একটি পোস্ট-কমিট হুক এই স্বয়ংক্রিয় production.git
সংগ্রহস্থল। তাই আপনি ধাক্কা যখন production.git
সর্বশেষ সংস্করণ স্বয়ংক্রিয়ভাবে ওয়েব রুট চেক আউট হয়।
#!/bin/sh
#
# An example hook script that is called after a successful
# commit is made.
#
# To enable this hook, rename this file to "post-commit".
GIT_WORK_TREE=/srv/production-www/ git checkout -f
# ... misc other commands to verify permissions are set correctly.
যদি রিমোট সিস্টেমে আপনার একমাত্র অ্যাক্সেস ওয়েবদ্যাভ হয় তবে এটি অবশ্যই পোস্ট-কমিট হুক লিখতে পারে যা ওয়েবদ্যাভ হোস্টে চেকআউট করবে, সরাসরি বা অস্থায়ী অবস্থান, যা আপনি একটি আপলোড স্ক্রিপ্ট করতে পারেন।