仕事で必要になったので、ファイルを履歴ごと消す方法を試してみました。 ファイルを消しても履歴は残っている 例えば、1GB のバイナリファイルを Commit & Push したとします。 そして、それを git rm で削除したとしてもリポジトリの容量は減りません。 なぜか? git rm は「ファイルが削除されたことにするコマンド」であって、「Git リポジトリ内に保存されている履歴を消すコマンド」ではないからです。 このサイトに書かれていますが、Git は「差分」ではなく「スナップショット」を保存して、「どのスナップショットを参照するのか?」をコミット単位ごとに切り替える仕組みです。 git rm は、この「どのスナップショットを参照するのか?」という情報を削除するコマンドです。 もし、データを丸ごと消したいのであれば、保存されている全ての「スナップショット」を消さなければなりません。
ln -s でシンボリックリンクを作成するたびに、引数の一番目と二番目、どっちがリンクのパスで、どっちが元となるパスかがわからなくなる自分としては、以下の記事はまさに「そうそう!」だった。 lnコマンドって、たまに使うと2つのpathのどっちが[出発地]でどっちが[目的地]か、引数の順番を忘れることってありませんか? http://d.hatena.ne.jp/naotube/20100708/p1 今回は、ln コマンドの使い方を実践で学ぶことにする。 リンクの基礎 あるファイル(ディレクトリ)があって、そこへリンクを貼る、という行為は、「ファイル(ディレクトリ)へのポインタを持ったリンクファイルを作成する」ということ。出発地とそこからのポインタ(矢印)を合わせてリンクになる、すなわち [目的地]<------[出発地] |-------------| リンクのようになるわけだ。 この右
ln は引数1つだけで実行できる ln に引数を1つだけ与えて実行すると,カレントディレクトリに指定したパスへのリンクを作成します. たしかに,どのファイルへのリンクを作るかを指定しなければリンクは作れないので納得できます. ~/work% ls -l 合計 0 ~/work% ln -s /bin/sh ~/work% ls -l 合計 0 lrwxrwxrwx 1 tn tn 7 6月 7 12:10 sh -> /bin/sh* lnコマンドを使うときの心の中 lnには少なくとも1つの引数が必要であることを知ってから,次のような順番で考えてコマンドを入力するようになったので引数の順番を間違わなくなりました. 「シンボリックリンクを作ろう」
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く