CentOS Stream 9
Sponsored Link

Git : Git でアクセスする2022/07/21

 
Git Daemon をインストールすると、Git プロトコルで Git リポジトリに読み取り専用アクセスすることができます。
[1] Git Daemon をインストールしておきます。
[root@dlp ~]#
dnf -y install git-daemon
[root@dlp ~]#
systemctl enable --now git.socket

[2] Firewalld を有効にしている場合は、サービスの許可が必要です。
[root@dlp ~]#
firewall-cmd --add-service=git

success
[root@dlp ~]#
firewall-cmd --runtime-to-permanent

success
[3] デフォルトでは [/var/lib/git] 配下が Git プロトコルでアクセス可能となっています。
([git.socket] で [/usr/libexec/git-core/git-daemon --base-path=/var/lib/git ***] が起動)
例として、[/var/lib/git/project01.git] リポジトリに、任意のノードから Git プロトコルでアクセスします。
[cent@node01 ~]$
mkdir work

[cent@node01 ~]$
cd work
# リポジトリの指定はベースパス [--base-path=/var/lib/git] からの相対パス

[cent@node01 work]$
git clone git://dlp.srv.world/project01.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 等の書き込み操作は不可

[cent@node01 work]$
cd project01

[cent@node01 project01]$
echo testfile > testfile2.txt

[cent@node01 project01]$
git add testfile2.txt

[cent@node01 project01]$
git commit testfile2.txt -m "Commit"

[master 3e5ca44] Commit
 1 file changed, 1 insertion(+)
 create mode 100644 testfile2.txt
[cent@node01 project01]$
git remote -v

origin  git://dlp.srv.world/project01.git (fetch)
origin  git://dlp.srv.world/project01.git (push)
[cent@node01 project01]$
git push origin master

fatal: remote error: access denied or repository not exported: /project01.git
関連コンテンツ