タグ

資料とGitに関するindicationのブックマーク (10)

  • git gc の仕組みを原理から理解してサイズを 136MB → 7.2MB(95%減)まで削減した時の勉強メモ

    個人用メモです。 「git gcってあんまし容量減らないよなぁ」 と思ったのが動機です。調べたけどパッと腑に落ちる記事がなかったので「自分で git のソースコード見た方がいいな」と急にモチベ発動してグワっと勉強しました。またついでに歴史改変の方法も調べたのですが、公式で既に WARNING が出てるほど非推奨化されてるfilter-branchを使用してる記事が多かったので、2021 年現在で多分一番推奨されてるfilter-repoを使ってやる方法もまとめました。 ちなみに容量減らしても高速化するかというとそこまで単純ではないです。そもそも減らさなくても partial clone で blob オブジェクトを必要最低限に指定して昔の blob をデフォルトで持ってこないようにしたり(--no-checkoutと併用するとより効果有る)、その後当に自分が必要なやつだけ sparse-

    git gc の仕組みを原理から理解してサイズを 136MB → 7.2MB(95%減)まで削減した時の勉強メモ
    indication
    indication 2021/05/11
    gitのblob全部抜く
  • PostgreSQLのソースコードの構造

    どこで手に入るの? 何がはいってるの? srcディレクトリを見てみる src/backendディレクトリにあるサーバ側のコードを見てみる ソースコードを読む際に知っておくと便利な関数 SQLを受け取り、処理する所 COPYやALTER TABLE等のDDLやSQLコマンドを実行する所 ソースコードを読む時に知っておくと便利な事(2020/12/15 追記) palloc()とpfree()関数 ereport()とelog()関数 先日のPostgreSQLアンカンファレンスでPostgreSQLのソースコードのディレクトリ構成や読み方について簡単に紹介しました。 ソースコードのディレクトリ構成は今後変わる予定があるので、ブログにまとめて今後も適宜アップデートしていこうと思います。 以下の説明はPostgreSQL 13をベースとしています。 どこで手に入るの? 公式のgitリポジトリ g

  • お前らのコミットは汚い - Qiita

    お前らのXXXXは<ネガティブな形容詞>シリーズ で失礼します。 日頃gitをお使いの皆様におかれましては、キレイなコミットを心がけていらっしゃいますでしょうか。 私も心がけてはいますが、なかなか難しいものがあります。 参考までにこちら、最近業務で書いたプルリクエストのコミットログです。 控えめに言って汚いと思われたかと思います。 ではキレイなコミットの例を。 プルリクエストというのは、やはり先達の方に見ていただいてご指摘いただこうというものですから、 当然コミットハッシュもゾロ目等でキレイにするというのがマナーです。 では今回はこのキレイなコミットをどうやって作るのか、という話を書きます (ショート)コミットハッシュ コミットハッシュとは、gitのコミットごとに生成される、40桁の[0-9a-f]からなる文字列です。 お手元のリポジトリ上で git log --format=%H を叩く

    お前らのコミットは汚い - Qiita
    indication
    indication 2020/02/24
    rebaseして泣くやつだ。すごい
  • 「GitとGitHub用語」の可愛いイラストを使用した解説に対して圧倒的わかりやすさを感じる人たち

    ちづみ @098ra0209 Webサイト屋さん👩🏻‍💻と古民家🏡のカフェ&コミュニティスペースimawoを運営しています/WordPress/figma/半Web半DIY生活 🛠 SoftwareDesignでgitイラスト連載中📖/ちゃんとプロになるWordPress基礎入門出版 ちづみ @098ra0209 去年Gitまわりを触った時に用語多いし意味がわけワカメで、うへぇ🤢てなったけど、いやぁでもこういう類はアウトプットを見据えたインプットが定着が早いし手が動くよなぁと思って「これだけはおさえよう」みたいなのを誰でもわかるように意識して書いて覚えたやつが出てきた…なつい🍉 pic.twitter.com/XHxagBso8S 2019-08-17 20:59:58

    「GitとGitHub用語」の可愛いイラストを使用した解説に対して圧倒的わかりやすさを感じる人たち
  • 本の虫: GCCのgit移行が難航中

    GCCはgitへの移行を計画しているが、GCCの既存のsubversionレポジトリをgitレポジトリに変換する作業が難航している。 GCCの移行作業を検証しているのは他ならぬEric S. Raymond(ESR)だ。 ESRお手製の変換ツール、reposurgeonはsubversionからgitへの変換ができる。 Resource page for reposurgeon 3.44 しかしGCCは30年もの歴史を持ち、そのsubversionレポジトリも複雑だ。 ESRはGCCのためにreposurgeonのバグを潰し、勢い変換しようと試みたが、意外な障害に出くわした。メモリ不足だ。 GCC's Conversion To Git Is Being Held Up By RAM, a.k.a. Crazy DDR4 Prices - Phoronix ESRの所有する64GBのメモリ

    indication
    indication 2018/07/31
    linuxって、どうやって移行したんだろ
  • Goツールのリリースエンジニアリング | おそらくはそれさえも平凡な日々

    前回: Goツールのリリースにおけるバージョニングについて 前回挙げた以下のリリース5段階の中で、バージョニングだけで1エントリになりましたが、今回は、2,3について。 versionをbumpする CHANGELOGを更新する 1,2での変更をgitに反映してタグを打つ ビルドする ビルドをアップロードする 具体的には、リリースに纏わるファイル更新をgitに反映さえてタグを打つところまで。ビルドする直前までとも言えます。 CHANGELOG.mdを自動更新する CHANGELOGは ghch で自動生成させている。規定の CHANGELOG.md をリポジトリに配置して、 % ghch -w -N $next_tag とすれば、魔法のように CHANGELOG.md を更新してくれる。生成された CHANGELOG.md はこんな感じ。 https://github.com/Songmu

    Goツールのリリースエンジニアリング | おそらくはそれさえも平凡な日々
    indication
    indication 2017/10/17
    お、これを使って、androidアプリの自動化がさらに捗りそう(pushしたら、バージョン割付とapk作成まで実現済み)
  • Gitの良さが分からない? ちょっとそこに座れ | To Be Decided

    Gitの良さがいまだに分からないという人がいるようなので、Git派の一人としてSubversion(以下SVN)と比較してのGitの良さ(メリット)について語りたい。 (GitとSVNの違いについては他の人の記事に詳しいのであまり書いていない一方、勢い余ってGitのデメリットも書いた。) 題に入る前に、冒頭にリンクを貼った記事についてひとつだけつっこんでおく。 つっこみどころは他にも沢山あるけど。 ※話の前提としてgitとSVNを採用している現場に下記のような割と違いがあるとする。 git イシューごとにブランチを切り、ローカルでコミットして、リモートブランチにpushして、GitHubGitLab・Bitbucket経由でマージリクエスト。コードレビューの後にマージ。 SVN リモートのtrunkに個々人が直接コミット。コードレビューはあまりない。ブランチを切ることもない。 このよう

    Gitの良さが分からない? ちょっとそこに座れ | To Be Decided
    indication
    indication 2017/10/06
    cloneで--depthが時折便利
  • gitにおけるコミットログ/メッセージ例文集100

    私はコミットログの書き方に悩む英語の苦手な人間である。実際、似たような人は世の中に結構いるようで、頻出単語を集計したりまとめたものは既にあって役に立つのだけれど、これらはあくまで単語の話であり、具体的な文を構成する過程でやっぱり困る部分がかなりあった。 要するに、どういう時にどういう文が使われているのか、ということを示した例文集が欲しいのである。ググると他にも「例文集があればいいのに」みたいな声はあるくせして、しかし誰も作ろうとしない。何なんだお前ら。それじゃ私が楽できないじゃないか。 仕方なく自分でまとめたので、増田に垂れ流しておく。 はじめにここで挙げているコミットログは全て実際のコミットログからの転載である。当然ながら各コミットログの著作権はそれぞれの書き手にある。いずれも各英文でググれば出てくるし、フェアユースの範囲なら許してくれるだろうと考え名前とプロジェクト名は割愛したが、ここ

    gitにおけるコミットログ/メッセージ例文集100
    indication
    indication 2016/07/25
    すばらしいコミットメッセージまとめ
  • Gitのデータモデル

    近藤です。こんにちは。Gitは様々な利用の仕方ができますが、その基盤となるモデルは8個だけの簡単なモデルです。これらのモデルを理解していない状態でGitを利用すると、あたかもリポジトリが壊れたように見えてしまいます。Gitは難しいと言われますが、そういう感想を持つ人はGitのモデルを理解していない事が多いようです。 今回はGitを構成する中心モデルと、基的なコマンドを実行した時のオブジェクト関係を解説します。 基概念 Gitの基概念は大きく2つにわかれます。 GitObject Reference GitObjectはGitで管理するオブジェクトです。CommitなどがGitObjectです。Gitリポジトリである.gitを開くとobjects配下にあるファイルがGitObjectです。GitObjectはそのコンテンツをハッシュ化した文字列を元に、先頭2文字で配置フォルダ、残りの文

    Gitのデータモデル
    indication
    indication 2016/07/18
    想像していたのより小さい。検索とかのアルゴリズムが凄そう
  • ギットクエスト

    indication
    indication 2016/01/25
    これはすごい入門書
  • 1