タグ

gitに関するichiko_revjuneのブックマーク (6)

  • コードの半減期とテセウスの船 | POSTD

    プロジェクトが発展する際は、単純に新しいコードが古いコードの上に追加されているのでしょうか。もしくは、時間をかけて徐々に古いコードが新しいコードに置き換えられているのでしょうか。これを解明するために、手ごわい GitPython プロジェクトの助けを借りて、Gitプロジェクトを分析する 簡単なプログラム を構築してみました。履歴を年ごとに振り返り、 git blame を実行してみようと思ったのです(この処理を多少でも速くすることは簡単ではないと分かりました。しかし、ファイルのキャッシングを便宜的に含ませることや、変更された点を履歴から見つけること、 git diff を使って変更したファイルを無効にすることなどの詳細を、いつかお伝えします)。 頭がさえている時に、 テセウスの船 をダサくもじって、 “テセウスのGit” と名付けました。私は父親になって、ひどいダジャレを作れるようになった

    コードの半減期とテセウスの船 | POSTD
  • GitベースのコードリーディングTips - クックパッド開発者ブログ

    こんにちは、投稿推進部の森川 (@morishin127) です。 エンジニアが既存のプロダクトの開発に携わる際、他人の書いたソースコードを読み解くところから始まります。過去に書かれたコードの意図を理解することは自分が書いたものでもしばしば難しく、他人が書いたものならなおさらです。この記事では過去に書かれたコードを理解するための工夫についてお話したいと思います。 なお、この記事ではプロダクトのソースコードはgitおよびGitHubのPull Requestを利用して開発が進められていることを前提としています。 特定の行から関連するPull Requestページを開く クックパッドのソースコードには概してコメントがあまり書かれておらず、見ただけでは理解しづらいような特殊な方法をとっている場合のみコメントを書いている印象です。基的に実装に関する説明はソースコード中ではなく、GitHubのPu

    GitベースのコードリーディングTips - クックパッド開発者ブログ
  • 夏の技術職インターンシップ講義資料公開 - クックパッド開発者ブログ

    こんにちは!クックパッド編集室メディア開発グループ長の @yoshiori です。 このまえ夏の技術職インターンシップの前半の開発講義・課題部分が終わったのでさっそく公開しちゃいます! ちなみにこのインターンの対象者はプログラミングはわかるし自分で(授業とかではなく)コード書いている人なので超初心者向けでは無く、少なくともひとつ以上の言語でプログラミングが出来る人向けです。 一日目 TDD + git 編(@yoshiori) 講義初日なのでまずは簡単に肩慣らし & 開発の基礎の部分として TDD と git で始めました。 git については軽く説明し TDD は基のテストファーストで進めて行きました。 ちゃんと何かをするたびにテストを実行し、メッセージを見れば次にすることが分かるというのを体験してもらい、GREEN が良くて RED が悪いのではなく、GREEN を想定しているのに

    夏の技術職インターンシップ講義資料公開 - クックパッド開発者ブログ
  • .gitignoreを作ってくれるgiboが便利すぎる - hnwの日記

    gitignore-boilerplates(長いので以後giboと呼びます)という便利なツールを紹介します。これは.gitignoreのひな形を作ってくれるものです。 https://github.com/simonwhitaker/gitignore-boilerplates もう少し詳しく説明すると、giboは様々なOS・エディタ・言語・フレームワークなどに特化したファイルの情報を利用して、複数環境を考慮した.gitignoreを作ってくれます。 .gitignoreに入れたいファイルは環境ごとに変わってくるわけですが、各人がcommitしたくないファイルの存在に気づくたびにチマチマ.gitignoreに追記していくのって当に無駄だと思うんですよね。giboはそれを自動化してくれるというわけです。 例えば、WindowsMacOSXの2環境、Emacsとvimの2エディタを使う人

    .gitignoreを作ってくれるgiboが便利すぎる - hnwの日記
  • gitの空ブランチを作る - Qiita

    空ブランチ? そもそも空ブランチとは何かというと、すでにあるコミット (master) なんかのブランチとは関係なく、全く関連性も何もないブランチのこと。 『そんなものがあるのか?』と不思議に思ったのですが、GitHubのとあるリポジトリには、"gh-pages" というものが存在しているのに気がつきました。! ツリーを見ると、全く独立していて、ドキュメントやプロジェクトページのHTMLが入っていたりします。GitHub上では、このドキュメント用の空のブランチが作れますが、コマンドラインから作るのは知りませんでしたので、メモ。 作り方 "doc" というドキュメント用の空ブランチを作る場合。 git checkout --orphan doc orphanオプションを付ければ良いんですね。 ちなみに、既に履歴のあるリポジトリ上でorphanブランチを作ると、その時点での中身が入ったまま新し

    gitの空ブランチを作る - Qiita
  • 1