blog記事: http://alpha.mixi.co.jp/entry/20150513
はじめに gitはコミットごとにレポジトリ内のファイル全てをスナップショットとして保存するというリッチな 設計になっている。 それがgitの便利さの所以なのだが画像データや音声データのようなバイナリデータを持とうとすると 少しの変更でもそのたびにコピーが生じてファイルサイズ分の容量が増えることになり、あっという間にレポジトリが 肥大化してしまう。 特に学習結果をファイルに保持してテスト等に使いまわすようなプログラムを管理しようとすると アルゴリズムのパラメータを少し変えるたびに100kB近い容量が増えていき、実にイケてない。 普通なら.gitignoreに*.xmlと書いてデータ自体は手動管理したり、シンボリックリンクにして別ディレクトリに置いてそれだけrsyncで同期するようにしたりするんだが 過去の実験時の状態に戻れなかったり、毎回rsyncするのは不便だった。 なんか無いかなーと思っ
Gitでやらかした時に使える19個の奥義を書いてやらかしたときになんとかリカバリできるようにした。 今回は、そもそもやらかさないようにしたいよねっていうお話。 コミット編 .gitignoreを細かく指定しておく .gitignoreを指定しておけば余計なファイルをコミットしちゃうことを予防できます 過去に似たようなプロジェクトがあるのならそれを流用しましょう。 ないのであれば.gitignore.ioで生成してそれをカスタムしましょう。 ワイルドカード指定やディレクトリまるごとの指定は副作用ある可能性があるので慎重に。 コミットメッセージのフォーマットを決めておく コミットメッセージのフォーマットを決めておけば書き直したいということも減ります コミットメッセージをやらかして直したいと思うことはよくあります。 そういうのって案外コミットメッセージが自由すぎることが問題だったりします。 ある
まずは、リモートにどんなブランチがあるかを確かめる。-aオプションでリモートブランチも一覧できる。 > git branch -a * master remotes/origin/master remotes/origin/other_branch チェックアウトしたいブランチが表示されていない時は、git fetchとかすると情報をリポジトリから取得できる。 > git fetch 次に、ローカルブランチ名を指定して、リモートブランチをチェックアウトする > git checkout -b other_branch origin/other_branch 最初の引数がローカルブランチ名 -bオプションを指定しておくと、自動的にそのブランチに切り替わる。 -bオプションを指定しないと、以下を再度する必要がある。 git checkout -b other_branch
git-revertかgit-resetを使う 両者の違いは以下の通り git-revert ある特定リビジョン(過去にcommitしたバージョン)に戻すパッチを自動生成してコミットする git-reset ある特定リビジョン(ryに戻す(戻したリビジョン以降を無かったことにする) もし複数の人共同作業していて共有リポジトリを変更する場合はgit-resetを行うとまれにひどいことになるので極力git-revertを使った方がいいかも 作業の流れ git-logでどこまで戻すか決める(あとSHAをコピーする) % git log commit 46cdec49ae85012327b663531e569d77bf09b1b2 Author: amacou <amacou.abf@gmail.com> Date: Sat Jan 17 22:53:55 2009 +0900 test comm
A Git Horror Story: Repository Integrity With Signed Commits 2012-05-22 (Note: This article was written at the end of 2012 and is out of date. I will update it at some point, but until then, please keep that in perspective.) It’s 2:00 AM. The house is quiet, the kid is in bed and your significant other has long since fallen asleep on the couch waiting for you, the light of the TV flashing out of t
git log 使い方 コミットログを表示する git log とするとページャが起動して(設定による) コミットログが表示される。 パッチ形式のコミットログを表示する コミットログと変更点のパッチ形式を表示するには「-p」オプションを使う。 git log -p コミットログとファイルの変更の状態を表示する git log --stat とすると diffstat が表示される。また、 git log --name-status とすると変更されたファイルの名前とステータスが表示される。 コミットログを指定した数だけ表示する たとえば、最近のコミットログを 5 つだけ表示するには「-<num>」か「-n」オプションを使って git log -5 git log -n 5 とする。 特定の範囲のコミットログを表示する 「<since>..<until>」で指定する。 たとえば、 git l
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く