Ubuntu 22.04
Sponsored Link

Git : Git के माध्यम से रिपोज़ तक पहुंच2023/09/27

 
Git डेमॉन को स्थापित करने के लिए Git प्रोटोकॉल के माध्यम से Git रिपॉजिटरी तक पहुंच संभव है।
[1] Git डेमॉन स्थापित करें।
root@dlp:~#
apt -y install git-daemon-sysvinit
root@dlp:~#
vi /etc/default/git-daemon
# परिवर्तन
GIT_DAEMON_ENABLE=true
GIT_DAEMON_USER=gitdaemon
GIT_DAEMON_BASE_PATH=/var/lib
GIT_DAEMON_DIRECTORY=/var/lib/git

# Additional options that are passed to the Daemon.
# विकल्प जोड़ें
GIT_DAEMON_OPTIONS="--export-all --enable=receive-pack"

root@dlp:~#
systemctl restart git-daemon

[2] डिफ़ॉल्ट रूप से Git प्रोटोकॉल के साथ [/var/lib/git] निर्देशिका तक पहुंच संभव है।
[/var/lib/git] केवल रूट खाते द्वारा लिखने योग्य है, इसलिए इसे रूट विशेषाधिकार के साथ रिपॉजिटरी बनाने की आवश्यकता है।
उदाहरण के लिए, [/var/lib/git/project01.git] बनाएं और अन्य होस्ट से [/var/lib/git/project01.git] रिपॉजिटरी तक पहुंचें।
ubuntu@node01:~$
mkdir work2

ubuntu@node01:~$
cd work2
# रिपॉजिटरी निर्दिष्ट करने के लिए, यह [--base-path=/var/lib] का सापेक्ष पथ है

ubuntu@node01:~/work2$
git clone git://dlp.srv.world/gitproject01.git

Cloning into 'project01'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

# [push] या अन्य लिखने योग्य संचालन असंभव है
# यदि लिखने योग्य की आवश्यकता है, तो साझा सेटिंग जैसे (05) अनुभाग सेट करें

ubuntu@node01:~/work2$
cd project01

ubuntu@node01:~/work2/project01$
echo testfile > testfile2.txt

ubuntu@node01:~/work2/project01$
git add testfile2.txt

ubuntu@node01:~/work2/project01$
git commit testfile2.txt -m "Commit"

[master daf51fa] Commit
 1 file changed, 1 insertion(+)
 create mode 100644 testfile2.txt
ubuntu@node01:~/work2/project01$
git remote -v

origin  git://dlp.srv.world/git/project01.git (fetch)
origin  git://dlp.srv.world/git/project01.git (push)
ubuntu@node01:~/work2/project01$
git push origin master

 ! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to 'git://dlp.srv.world/git/project01.git'
मिलान सामग्री