ããªãã®è²¡åãããªãã®Gitãªããžããªãããªãã®ã³ã³ãããŒã«ã
æšæºçãªGitã¯ãŒã¯ãããŒã§äŒèšåž³ç°¿ã管çãã¯ããŒã³ãããæ°ã«å ¥ãã®ããŒã«ã§ããŒã«ã«ç·šéããŠããã·ã¥ããã³ããŒããã¯ã€ã³ãªãã§ããŒã¿ãå®å šã«ææã
$ git clone ssh://[email protected]:2222/you/ledger.git
Cloning into 'ledger'...
â Receiving objects: 100%
$ cd ledger && vim expenses.beancount
# Edit with your favorite editor
$ git add . && git commit -m "Add Q4 expenses"
[main abc123d] Add Q4 expenses
1 file changed, 12 insertions(+)
$ git push origin main
â Your financial data synced securelyä»çµã¿
ããŒãžã§ã³ç®¡çããã財å管çãžã®3ã€ã®ç°¡åãªã¹ããã
垳簿ãã¯ããŒã³ãã
æšæºçãªGitã³ãã³ãã䜿çšããŠã垳簿ãªããžããªãããŒã«ã«ãã·ã³ã«ã¯ããŒã³ããŸãã
git clone ssh://[email protected]:2222/you/ledger.gitããŒã«ã«ã§ç·šéãã
VS CodeãVimãEmacsããŸãã¯å°éã®BeancountããŒã«ãªã©ãã奜ã¿ã®ãšãã£ã¿ã䜿çšããŠãã ãããéžæããã®ã¯ããªãã§ãã
vim expenses.beancount # or code . or emacs倿Žãããã·ã¥ãã
倿Žãã³ãããããŠããã·ã¥ããã°èªåçã«åæããã¹ãŠã®å€æŽã¯å®å šãªç£æ»å±¥æŽãšå ±ã«è¿œè·¡ãããŸãã
git commit -m "Add Q4 expenses" && git pushãªã財åã«Gitã䜿ãã®ãïŒ
Gitã®åæ£åããŒãžã§ã³ç®¡çã®ãã¯ãŒã財åããŒã¿ã«é©çšã
ããŒã¿äž»æš©
å®å šãªè²¡åå±¥æŽã¯æšæºçãªGitãªããžããªã«ãããŸããæ¯æãã忢ããŠãããã¹ãŠããªãã®æå ã«æ®ããŸãã
ããŒã«ã®èªç±
VS CodeãVimãEmacsããŸãã¯å°éã®BeancountããŒã«ãªã©ãã©ã®ãšãã£ã¿ã§ãç·šéå¯èœãéžæããã®ã¯ããªãã§ãã
å®å šãªç£æ»ãã°
Gitã¯ããã€ã誰ããäœã倿Žããããæ£ç¢ºã«ç€ºããŸããã³ã³ãã©ã€ã¢ã³ã¹ãè²¬ä»»ã®æç¢ºåã«æé©ã§ãã
忣ããã¯ã¢ãã
ãã¹ãŠã®ã¯ããŒã³ãå®å šãªããã¯ã¢ãããšãªããŸããããŒã«ã«ãã·ã³ãšã¯ã©ãŠãäžã§ãèªåçã«ããŒãžã§ã³ç®¡çãããããã¯ã¢ãããäœæãããŸãã
ã³ã©ãã¬ãŒã·ã§ã³å¯Ÿå¿
ãã©ã³ãããã«ãªã¯ãšã¹ããã³ãŒãã¬ãã¥ãŒã®ã¯ãŒã¯ãããŒã䜿çšããŠãããŒã ãäŒèšå£«ãšååã§ããŸãã
åºå£æŠç¥
æšæºçãªGit圢åŒã¯ãã³ããŒããã¯ã€ã³ããªãããšãæå³ããŸããåŸæ¥ã®äŒèšãœãããããããŒã¿ããªãã£ã«åªããŠããŸãã
GitããŒã¹ vs åŸæ¥ã®äŒèš
GitããŒã¹ã®äŒèšãšç¬èªã®ãœãããŠã§ã¢ãæ¯èŒã
åŸæ¥ã®ãœãããŠã§ã¢
ç¬èªã®ãã¡ã€ã«åœ¢åŒãããŒã¿ãããã¯ã€ã³
æäŸãããã€ã³ã¿ãŒãã§ãŒã¹ãšããŒã«ãã䜿ããªã
ããŒãžã§ã³å±¥æŽãå¶éãããŠãããååšããªã
å ±åäœæ¥ãã¢ã¯ã»ã¹å ±æãå°é£
æ¯æããæ¢ãããšããŒã¿ã«ã¢ã¯ã»ã¹ã§ããªããªã
æåããã¯ã¢ãããŸãã¯é«äŸ¡ãªããã¯ã¢ãããã©ã³ãå¿ èŠ
GitããŒã¹ã®Beancount
æšæºçãªGitãªããžããªã§ãæ®éçãªããŒã¿ããªãã£
VS CodeãVimãEmacsãå°éããŒã«ãªã©ãã©ã®ãšãã£ã¿ã§ã䜿çšå¯èœ
Gitã®ãã«æ©èœã掻çšããç¡å¶éã®ããŒãžã§ã³å±¥æŽ
ãã©ã³ããšãã«ãªã¯ãšã¹ãã«ããçµã¿èŸŒã¿ã®å ±åäœæ¥
æ¯æããæ¢ããŠãããã¹ãŠãæ°žä¹ ã«ä¿æ
ã¯ããŒã³ãããã³ã«èªåçã«åæ£ããã¯ã¢ãããäœæ
誰ãäŒèšã«Gitã䜿ãã®ãïŒ
å人éçºè ããäŒæ¥ããŒã ãŸã§
éçºè ã»ãšã³ãžãã¢
ãã³ãŒããšããŠã®è²¡åããŒã¿ã - ãœãããŠã§ã¢éçºãšåãããŒã«ã§è²¡åãããŒãžã§ã³ç®¡çã
äŒèšå£«ãšã®ææº
äŒèšå£«ãšã®éææ§ã®é«ãå ±åäœæ¥ãã¢ã¯ã»ã¹ã®å ±æã倿Žã®ã¬ãã¥ãŒãå®å šãªç£æ»ãã°ã®ç¶æã
ããŒã ã»çµç¹
ãã©ã³ããããŒãžæŠç¥ãçšãããã«ããŠãŒã¶ãŒã¯ãŒã¯ãããŒãè€éãªè²¡åéçšãè¡ãããŒã ã«æé©ã
ã³ã³ãã©ã€ã¢ã³ã¹ãšç£æ»
Git blameã«ããå®å šãªç£æ»å±¥æŽãã³ã³ãã©ã€ã¢ã³ã¹èŠä»¶ã«åºã¥ãããã€ã誰ã倿Žãè¡ã£ãããæ£ç¢ºã«ææ¡ã
ãããã質å
Beancount.ioã®Gitãã¹ãã£ã³ã°ã®ä»çµã¿ã¯ïŒ
Giteaãå©çšããgit.beancount.ioã®GitãµãŒããŒãæäŸããŠããŸãããµã€ã³ã¢ãããããšã垳簿ãã¡ã€ã«çšã®ãã©ã€ããŒãGitãªããžããªãäœæãããŸããHTTPSçµç±ã§æšæºçãªGitã³ãã³ãã䜿ã£ãŠã¯ããŒã³ããããŒã«ã«ã§å€æŽããŠããã·ã¥ãããªãã¿ã®Gitã¯ãŒã¯ãããŒã§ãã
èªåã®GitãµãŒããŒã䜿ããŸããïŒ
ãã¡ããã§ãïŒåž³ç°¿ã¯æšæºçãªGitãªããžããªã«ãããããGitHubãGitLabãç¬èªã®Giteaã€ã³ã¹ã¿ã³ã¹ãªã©ãã奜ã¿ã®GitãµãŒããŒã«ããã·ã¥ã§ããŸããããŒã¿ã¯ããªãã®ãã®ã§ããããªãŒãã³ãªåœ¢åŒã§ä¿åãããŸãã
æ¯æããæ¢ãããããŒã¿ã¯ã©ããªããŸããïŒ
ãã¹ãŠããªãã®æå ã«æ®ããŸããå®å šãªè²¡åå±¥æŽã¯ããã§ã«ããŒã«ã«ãã·ã³ã«ã¯ããŒã³ãããæšæºçãªGitãªããžããªã«ãããŸããããŒã¿ã¯ç¬èªã®åœ¢åŒã§ããã¯ãããŠããŸãããããã¯GitããŒã¹ã®äŒèšã®å€§ããªå©ç¹ã§ãã
Gitäžã®è²¡åããŒã¿ã¯å®å
šã§ããïŒ
ã¯ãããã¹ãŠã®Gitæäœã«HTTPSã䜿çšãããªããžããªã¯ããã©ã«ãã§ãã©ã€ããŒãã§ããGitèªäœãæ©å¯æ§ã®é«ããœãŒã¹ã³ãŒãã®ããã«äžçäžã®äœçŸäžäººãã®éçºè ã䜿çšããŠããå®èšŒæžã¿ã®ã»ãã¥ãªãã£ã¢ãã«ãæã£ãŠããŸããããã«ãã¢ã¯ã»ã¹æš©éã¯å®å šã«ã³ã³ãããŒã«å¯èœã§ãã
äŒèšå£«ãšã©ã®ããã«å
±åäœæ¥ãããŸããïŒ
äŒèšå£«ãGitãªããžããªã®å ±åäœæ¥è ãšããŠè¿œå ã§ããŸãã圌ãã¯ãªããžããªãã¯ããŒã³ãã倿Žãææ¡ãè¡ããããªããã¬ãã¥ãŒããããã®ãã«ãªã¯ãšã¹ããäœæã§ããŸãããã¹ãŠã®å€æŽã¯å®å šãªå±¥æŽãšè²¬ä»»ã®æåšãšå ±ã«è¿œè·¡ãããŸãã
財åããŒã¿ã®ã³ã³ãããŒã«ãåãæ»ã
å®èšŒæžã¿ã®Gitã®ããŒãžã§ã³ç®¡çã§äŒèšã管çããéçºè ã財åã®ããã«åå ããŸãããã
30æ¥éç¡æãã©ã€ã¢ã« ⢠ã¯ã¬ãžããã«ãŒãäžèŠ â¢ ããŒã¿ãæ°žä¹ ã«ä¿æ
ã¢ããããŒãããã³ãã«ã€ããŠã¯ãã©ããŒããŠãã ãã
@beancount_io