こんにちは。齋藤です。 今日はgolangを使ってgitの操作をやります。 はじめに golangには pure go implementation な git のライブラリがあります。 go-git 今回の記事では、このライブラリを使って git の操作を行います。 今回動かしたいシナリオは以下のようなものです。 あるリポジトリAを リリースする リポジトリAのイベントをhook起点に別のリポジトリBに コミットして PRを送る 今回はリポジトリBに commit して PRを送るに着目して この記事では リポジトリBを clone した後にファイルを変更・commit して push までをやってみます。 なお後々、Webhook などで動かしたいので AWS Lambda の上で動かしてみます。 gitの操作は全てインメモリで行います。 準備 今回はAWS Lambdaで実行すること