TortoiseGitを使用する

  技術ノウハウ

実際に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認証エラーを無視する。

この状態で再度Gitクローンを実行すると、
以下のようにユーザとパスワードを確認してくるので、
Gitユーザ/パスワードを入力する。

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

git commit (ローカルに更新をコミット)

ローカルのプロジェクト一式をgitフォルダに移動しておき、
gitフォルダを右クリック -> Gitコミットすると以下の画面が表示されるので
 ・バージョン管理対象のファイルを右クリック -> 追加
 ・”メッセージ”欄にコメント入力
   => ここにコメントを入れないと”コミット”出来ないので注意
 ・”作者を設定”にチェック
して、コミットを実行。


下の例では”最後のコミットをやり直し”にチェックを入れているが、
“コミット”が有効になっていなかったので入れていた。
しかし、これをすると単純にプッシュできなくなるのでNG。

git push (リモートサーバへの同期)

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

413エラーが発生している。
送信ファイルサイズが大きいことが問題と思われるので、
Git Bashを開いて以下実行して、50MBまで許容するようにする。

しかし、これでも413エラーが発生する。
Nginxのエラーログを見ると、以下のようにtoo large bodyでエラーしてた。
 client intended to send too large body
Nginxの設定ファイルにclient_max_body_sizeの設定を行う。
# vim /etc/nginx/conf.d/gitea.conf

構文チェックをして、
# nginx -t
再起動
# systemctl restart nginx

正常にプッシュできた。

LEAVE A COMMENT