見出し画像

どんなデータもGit管理したくなるGitの魔力

知人にクレジットカードの請求書のcsvファイルとか生活のあらゆるデータを
Git管理しているというGitに憑りつかれてる人がいた。

最近はその気持ちが少しわかるようになってきた。
日々更新するようなデータはやっぱりもとに戻したいとか、ブランチを分けたいとかある。Git pushすると"その日一日の仕事に一区切りついた~!" みたいなすがすがしい気分になれる。

特に、素材加工とか、ツールの使い方を忘れないための個人用チートシートとか毎日Updateしてると更新履歴を残したい。あと、ローカルPCのデータが吹っ飛んだ時のためバックアップもしっかりしておきたい。

引用 @.NET開発『虎の巻』
チートシートとは、いわゆる「カンペ(=カンニング・ペーパー)」のことだ。実際のプログラミングでは、各プログラミング言語の基礎文法から、クラス名やメソッド名まで、覚えることがたくさんある。しかし、使用頻度の低いものなどはすぐに忘れてしまう。知っているはずなのに、いま思い出せない……。そんなときに、コッソリと見るのが「カンペ(=チートシート)」である。

けど、開発じゃないのにGithubのリモートリポジトリを使うのは何故かしのびない気持ちになる。

探してたら面白い事やっている人がいた。
https://www.mussyu1204.com/wordpress/it/?p=249

WindowsのOneDrive上にリモートリポジトリを作成する方法
これを自分も真似てみた。

OneDriveの設定については
https://pc-karuma.net/windows-10-onedrive-settings/


すでに↓でgit のGlobalコンフィグはできているので

ローカルのGitコンフィグだけの設定という前提

OneDriveに設定しているディレクトリに移動
$ cd /c/Users/foo/OneDrive/git

リモートリポジトリの作成
$ git --bare init --share
Initialized empty shared Git repository in C:/Users/foo/OneDrive/git/

Git管理したいディレクトリに移動
$ cd /e/path/to/home/mydoc

Gitの設定
$ git init
Initialized empty Git repository in E:/path/to/home/mydoc/.git/
$ git remote add origin /c/Users/foo/OneDrive/git/
$ git config branch.master.remote origin
$ git config branch.master.merge refs/heads/master

ローカルのGitconfigの確認
$ git config --local -l
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
remote.origin.url=C:/Users/foo/OneDrive/git/
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master

何か適当にファイルを作ってコミットしてPUSH
$ echo 'hello world' > readme
$ git commit -m '1stcommit'
$ git push origin master:master

上で作ったリモートリポジトリからCloneして、
ただしくOneDrive上のリモートリポジトリが機能しているかの確認
$ mkdir -p /e/path/to/home/clonedir
$ cd  /e/path/to/home/clonedir
$ git clone /c/Users/foo/OneDrive/git/
Cloning into 'git'...
done.
$ cat git/readme
hello world

これでOneDrive上にリモートリポジトリを生成して
ローカルデータのGit管理ができるようになった。


何故gitでデータを管理したくなるのか


人は自分の成長を実感すると幸せを感じる生き物らしい。

Gitブランチの成長は自身の成長と捉えることができる。
だから人類はGit Pushをする。そこに成長(幸せ)を感じるから。

つまりGitとは日々の自分の成長を可視化してくれる魔法のようなツール。
Gitには魔力が宿っているように感じるのだ。(個人の感想です)



いいなと思ったら応援しよう!