日々勉強した事を振り返る為に er_repository という Git リポジトリを作って毎日草を生やす話

## ■ はじめに

### **説明**
普段は、Notion というツールでデータベースを作って毎日の振り返りを行ってます。
又、月初と月末には目標と結果もまとめて来月に活かしてます。
ざっと構成としては以下のような感じです。

- 2024/01 ページ
　  —　目標
　  —　実績
　  —　01/01
　  —　01/02
　  —　01/03
　  —　etc…

これは誰かに見せるとかではなく、完全に自分用の日報？みたいなものです。
今月は、こういった事が頑張れたな、積読してる書籍を◯本消化出来たな、などです。

このまま Notion で管理しても良いのですが、せっかくなので Git リポジトリ作ってそこに毎日 push すれば、毎日草生やせるじゃんと閃いたので試験的にやってみようと思いました。
毎日の振り返り、everyday_retrospectiveを略して er_repository とします。
とりあえず事前準備としてやる事としては、以下かなと思います。

1. リモートリポジトリを作成
2. yyyymmディレクトリを作成する。（202401 とか 202402 みたいな）
3. その中に各日付のファイルを作成しておく（1回1回ファイルを作るのが手間なのでまとめてやりたい）
4. 初回 push しておく

こんな感じでしょうか。
3番が一番手間なので、シェルスクリプト作って1回実行するだけで全部の日付用ファイルを作ってもらおうと思います。
シェルスクリプトの中身は以下です。（今回は2024年02月分を作ります）

```bash
everyday_retrospective % cat create_files.sh
#!/bin/bash

mkdir -p 202402/{plan,result}

for day in {01..29}
do
  touch 202402/$day.txt
done

everyday_retrospective %
```

### **環境**

- Macbook Air M2 sonoma(14.0)
- zsh 5.9

## ■ 手順

1.　画像の様な感じで repository 作っておきます。自分以外に見せる予定はないので私は private にしときます。
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/22f90ac3-a7e1-8db0-6c5a-e2c45f96f97d.png)

2.　以下の画面になったら一旦 Git は置いといて大丈夫です。
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/a7968aa3-17c2-9ec8-c57f-30ac85f1031e.png)

3.　create_files.sh というシェルスクリプトファイルを作成します。vi の場合はインサートモード（ i を押下）になってからスクリプトを書いて esc ⇨ :wq で保存しておきます。

```bash
everyday_retrospective % vi create_files.sh
everyday_retrospective %
```

4.　cat で確認します。

```bash
everyday_retrospective % cat create_files.sh
#!/bin/bash

mkdir -p 202402/{plan,result}

for day in {01..29}
do
  touch 202402/$day.txt
done

everyday_retrospective %
```

5.　シェルスクリプト実行前に権限が必要です。「6」で権限与えます。

```bash
everyday_retrospective % ls -l
total 8
-rw-r--r--  1 username  staff  96  1 30 20:28 create_files.sh
everyday_retrospective %
```

6.　ターミナルでスクリプトを実行できるように権限を与えときます。

```bash
everyday_retrospective % chmod +x create_files.sh
everyday_retrospective %
```

7.　これで実行出来ます。

```bash
everyday_retrospective % ls -l                   
total 8
-rwxr-xr-x  1 username  staff  96  1 30 20:28 create_files.sh
everyday_retrospective %
```

8.　じゃあ実行。

```bash
everyday_retrospective % ./create_files.sh
everyday_retrospective %
```

9.　「202402」ディレクトリ出来てますね。

```bash
everyday_retrospective % ls -l 
total 8
drwxr-xr-x  31 username  staff  1056  1 30 20:29 202402
-rwxr-xr-x   1 username  staff    96  1 30 20:28 create_files.sh
everyday_retrospective %
```

10.　202402の中身も見ておきます。

```bash
everyday_retrospective % ls -l 202402/
total 0
-rw-r--r--  1 username  staff   0  1 30 20:29 1.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 10.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 11.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 12.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 13.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 14.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 15.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 16.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 17.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 18.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 19.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 2.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 20.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 21.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 22.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 23.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 24.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 25.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 26.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 27.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 28.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 29.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 3.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 4.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 5.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 6.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 7.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 8.txt
-rw-r--r--  1 username  staff   0  1 30 20:29 9.txt
drwxr-xr-x  2 username  staff  64  1 30 20:29 plan
drwxr-xr-x  2 username  staff  64  1 30 20:29 result
everyday_retrospective %
```

11.　正常にファイル出来てますね。以降は、git に初回 push までしておきましょう。この辺は解説不要かと思いますので作業ログだけ置いときます。（分からない方は是非コメント下さい）

```bash
everyday_retrospective % git init
Initialized empty Git repository in /Users/Documents/everyday_retrospective/.git/
everyday_retrospective %
everyday_retrospective % ls -la | grep "git"
drwxr-xr-x   9 username  staff   288  1 30 20:31 .git
everyday_retrospective %
everyday_retrospective % git add -A
everyday_retrospective %
everyday_retrospective % git commit -m "202402分作成"
[main (root-commit) ca2e241] 202402分作成
 30 files changed, 8 insertions(+)
 create mode 100644 202402/1.txt
 create mode 100644 202402/10.txt
 create mode 100644 202402/11.txt
 create mode 100644 202402/12.txt
 create mode 100644 202402/13.txt
 create mode 100644 202402/14.txt
 create mode 100644 202402/15.txt
 create mode 100644 202402/16.txt
 create mode 100644 202402/17.txt
 create mode 100644 202402/18.txt
 create mode 100644 202402/19.txt
 create mode 100644 202402/2.txt
 create mode 100644 202402/20.txt
 create mode 100644 202402/21.txt
 create mode 100644 202402/22.txt
 create mode 100644 202402/23.txt
 create mode 100644 202402/24.txt
 create mode 100644 202402/25.txt
 create mode 100644 202402/26.txt
 create mode 100644 202402/27.txt
 create mode 100644 202402/28.txt
 create mode 100644 202402/29.txt
 create mode 100644 202402/3.txt
 create mode 100644 202402/4.txt
 create mode 100644 202402/5.txt
 create mode 100644 202402/6.txt
 create mode 100644 202402/7.txt
 create mode 100644 202402/8.txt
 create mode 100644 202402/9.txt
 create mode 100755 create_files.sh
everyday_retrospective %
everyday_retrospective % git log
commit xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (HEAD -> main, origin/main)
Author: username <mail.address@gmail.com>
Date:   Tue Jan 30 20:33:41 2024 +0900

    202402分作成
everyday_retrospective %
everyday_retrospective % git remote add origin git@github.com:username/er_repository.git
everyday_retrospective %
everyday_retrospective % git push -u origin main
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 492 bytes | 492.00 KiB/s, done.
Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:usernameer_repository.git
 * [new branch]      main -> main
branch 'main' set up to track 'origin/main'.
everyday_retrospective %
```

12.　以下の様になれば完了。後は毎日1日の振り返りをして push しておけば良いので楽です。草も毎日生えるので頑張ってます感出せそう。（大事）

![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/726545be-7cb0-d01c-ab6c-df7d4bfdc77a.png)


以上。

### おまけ
Git のリポジトリをprivateにした場合、通常だと他の方から草も見えなくなってしまいます。
私は以下の設定をしてprivateでも見えるようにしています。
自分のトップページから「Contribution settings」をクリックし「private contributions」を選択。チェックがつけばOKです。

![Untitled.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/3d814001-527a-9b72-292e-5419ceb69046.png)