実際にTortoiseGitを使って、自前のGiteaでリポジトリ管理してみる。
Contents
リポジトリ新規作成
Giteaにログイン後、右上の+マークから”新しいリポジトリ”をクリック。

取りあえず以下で新規リポジトリを作成
リポジトリ名 : WS_FAN
公開/非公開 : ”リポジトリをプライベートにする”にチェック
説明 : <空欄>
テンプレート : <空欄>
課題ラベル : <空欄>
.gitignore : <空欄>
ライセンス : MIT
README : Default, “リポジトリの初期設定”にチェック
デフォルトブランチ : <空欄>
リポジトリを新規作成したら、URIをコピーする。
今回はSSHは特に使う気はないので、HTTPSのURIをコピー。

Gitクローン作製
Gitリポジトリを扱うフォルダを右クリック -> Gitクローン(複製)を実行

URLに先にコピーしたURIを貼り付け。
SSHは使わないので”PuTTY鍵のロード”のチェックを外しておく。

OKで接続するとエラー終了

以下のエラーが発生している。
SSL: no alternative certificate subject name matches target host name ‘xxxx’
Let’s EncryptでGitea用のサブドメインの証明書を作成してなかったのが原因。
(と言うか、作成する際にhttpポートを開けずに試行回数を重ねてしまい
一時的にアクセス拒否されてしまったため、作成できてない)
Git Bashを開いて、以下を実行してSSL認証エラーを無視する。
|
1 |
$ git config --global http.sslVerify false |
この状態で再度Gitクローンを実行すると、
以下のようにユーザとパスワードを確認してくるので、
Gitユーザ/パスワードを入力する。

正常完了すると、以下のような画面が表示される。

git commit (ローカルに更新をコミット)
ローカルのプロジェクト一式をgitフォルダに移動しておき、
gitフォルダを右クリック -> Gitコミットすると以下の画面が表示されるので
・バージョン管理対象のファイルを右クリック -> 追加
・”メッセージ”欄にコメント入力
=> ここにコメントを入れないと”コミット”出来ないので注意
・”作者を設定”にチェック
して、コミットを実行。
下の例では”最後のコミットをやり直し”にチェックを入れているが、
“コミット”が有効になっていなかったので入れていた。
しかし、これをすると単純にプッシュできなくなるのでNG。

git push (リモートサーバへの同期)
最後にローカルにコミットした内容をリモートサーバへ同期するため、
Gitフォルダを右クリック -> Git同期を開き、”プッシュ”実行するのだが、
以下のようなエラーが発生する。

413エラーが発生している。
送信ファイルサイズが大きいことが問題と思われるので、
Git Bashを開いて以下実行して、50MBまで許容するようにする。
|
1 |
$ git config --global http.postBuffer 52428800 |
しかし、これでも413エラーが発生する。
Nginxのエラーログを見ると、以下のようにtoo large bodyでエラーしてた。
client intended to send too large body
Nginxの設定ファイルにclient_max_body_sizeの設定を行う。
# vim /etc/nginx/conf.d/gitea.conf
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
server { listen 443 ssl http2; server_name git.starseeker.podzone.org; ssl on; ssl_certificate /etc/letsencrypt/live/starseeker.podzone.org/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/starseeker.podzone.org/privkey.pem; access_log /var/log/nginx/gitea_access.log; client_max_body_size 50m; location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://gitea/; proxy_redirect off; } } |
構文チェックをして、
# nginx -t
再起動
# systemctl restart nginx
正常にプッシュできた。
