2. 自己紹介 舘野祐一 id:secondlife はてなブックマークリードプログラマ Perl, JavaScript ... 社内開発環境の整備 開発環境改善大好き! Development Environment Conference 開い たり
2. 自己紹介 舘野祐一 id:secondlife はてなブックマークリードプログラマ Perl, JavaScript ... 社内開発環境の整備 開発環境改善大好き! Development Environment Conference 開い たり
The latest news from Google on open source releases, major projects, events, and student outreach programs. Today we announce Git protocol version 2, a major update of Git's wire protocol (how clones, fetches and pushes are communicated between clients and servers). This update removes one of the most inefficient parts of the Git protocol and fixes an extensibility bottleneck, unblocking the path
多くのユーザーがその柔軟さ故に Git を分散型バージョン管理システムとして採用しています。特に Git のブランチとマージのモデルは、分散型の開発ワークフローを実現する強力な方法となっています。この柔軟性が大半のユースケースに機能する一方で、それほど美しく扱いきれないこともいくつかあります。そのようなユースケースの一つは、monorepo という大きな一枚岩のリポジトリで Git を使用することです。この記事では、Git を使用して monorepo を扱う際の課題について説明し、その問題を緩和するヒントを提供します。 monorepo とは? さまざまな定義がありますが、我々は monorepo を以下のように定義します。 論理プロジェクトを二つ以上含むリポジトリ (iOS クライアントやウェブアプリケーションなど) 各プロジェクトはほとんど関連がなく、疎結合、または異なる方法で繋がっ
初めに LinusによるGitのinitial commitのREADMEの訳です。 社内のSVNからの移行を促すために資料を整備していたのですが、SVNでやっていたことを移し替えたりコマンドを覚えたりするより内部構造を知ったほうが早いことに気づきました。 それで、gitの内部構造についての解説資料を色々見ていたのですが、データ構造については原作者のこのREADMEに言い尽くされている気がします。のみならず、gitを使うものが抱くべき精神性のようなものが示されており、深い感銘を覚えました(ヒャッハー)。 README: ”GIT - 馬鹿コンテンツトラッカー” コミットメッセージ:git, 地獄からきたインフォメーションマネージャ gitの意味 "git" は何を意味することも出来る、お前の気分次第だ。 3文字で、発音可能で、実際のUNIXシステムで共通コマンドとして使われていないものであ
コードレビューをするとき、コメントや判断をするには様々な情報が必要です。例えば 変更箇所とそれに対応するcommit message 該当行のblame、その変更が行なわれたpull request 今見ている変数の型、関数の定義元 などです。レビューのコメントを書く場所はGithub/GHEである場合が多いと思いますが、上述した内容と行ったりきたりするのは大変です。これらの起点をtigに置くとスムーズに行ったので、その方法をメモしておきます。 tigはもはや説明するまでもないですが、gitの見やすいcliインターフェイスです。commit logを見たり、diffを分かりやすく表示できます。 jonas/tig: Text-mode interface for git レビュー対象になっているPull Requestで行なわれた変更のみをtigで見たいときは、以下のように範囲を絞ります(
背景 あるディレクトリ以下にあるファイルが変更されたときにjenkinsのジョブを実行して環境を反映したいということがありました。 リポジトリはgitを使っているのですが、ツール群が色々入っているリポジトリで、今回対象にしたいファイル郡も それ専用にリポジトリを切るにはかなり小さい量だったので、リポジトリは変えずに特定パスのみをトリガにする方法を考えました。 やったこと 通常のSCMポーリングなんかを使うと、リポジトリの変更全てを拾ってしまいます。 でもいい感じにしてくれそうなpluginが見当たらない。 そこで今回はshellでトリガーをチェックする方法をとりました。 プラグイン導入 shell をトリガーにするためにまず以下のプラグインを導入しました。 https://wiki.jenkins-ci.org/display/JENKINS/ScriptTrigger+Plugin あと
Products Featured Developers Product Managers IT professionals
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43Preferred Networks
ここ5年ほど pre commit review があるような環境(主に chromium とか)で働いてきたので、コミットメッセージの書き方を自分なりにまとめておきます。 コミットメッセージで伝えたいことはパッチのコンテキストである コミットメッセージはコードレビュー依頼であるという態度で記述します(受け売り)。そのため、コードレビュー者がパッチのコンテキストを理解できるように記述するべきです。なにをやっているのか分からないパッチを渡されるより、これはこういう理由でこういう変更をやっているパッチだということを伝えてからパッチを見たほうが、パッチの理解も速いでしょう。レビュー者にパッチのコンテキストを理解してもらえれば、コードレビュー速度が上がったり、コードのミスが見つけてもらいやすくなるという利点があります。 コミットメッセージの基本的なフォーマット コミットメッセージには一般的に使われ
Open SourceGit 2.9 has been releasedThe open source Git project has just released Git 2.9.0, with a variety of features and bug fixes. Here's our look at some of the most interesting new features: Faster… The open source Git project has just released Git 2.9.0, with a variety of features and bug fixes. Here’s our look at some of the most interesting new features: Faster and more flexible submodule
code review の reviewer 選出をする時,pull request の内容をざっと眺めてから「この部分だから XX さんかな」とか「あそこのコードは YY さんが詳しいだろう」とか,そういう感じで選ぶことが多くて,つまりは勘と経験で選びがちになってしまう.これについては常々いくばくかの危うさを感じていた. そもそも,「reviewer として誰が最適か」という知識はプロジェクトに長く関わっている人でなければ知りにくいものであり,いわば属人的な知識のひとつだと思っている.プロジェクトからそういった長老的な人がいなくなってしまったら,最適な code review を実施できなくなってしまう可能性がある. 従って,やはり技術で解決ということになる. Facebook が作っている mention-bot という GitHub の bot として動作するやつがあって,これは p
Is there a shortcut to tell Git to push the current tracking branch to origin? Note: I know that I can change the default push behavior, but I am looking for an ad-hoc solution that does not change the default behavior. For example, suppose I am on branch feature/123-sandbox-tests I would be using git push origin feature/123-sandbox-tests which is tedious. I am looking for a shortcut, something li
git fetch の裏側でどんな通信が行われてリモートリポジトリの内容が取得できるのか調べたのでまとめる。もともとは git の HTTP や SSH といったプロトコルでどのように実現されているか、というところに興味があった。Git v2.7.1 を基にしている。 事前準備 pack プロトコル pkt-line フォーマット Reference discovery Packfile negotiation Packfile の送受信 packfile への圧縮・packfile からの展開 各種トランスポートの実装 file トランスポート ssh トランスポート git トランスポート http(s) トランスポート まとめ 参考資料 事前準備 手を動かしてプロトコルを理解できるよう、gist の小さなリポジトリ を使う。適当なディレクトリ下に bare リポジトリとして clon
Git 2.6 からわずか 2 カ月後、膨大な機能と修正、そして性能の向上を果たした Git 2.7 がリリースされました。ここでは Bitbucket チームが興味を持った新しい機能を紹介します。 git worktree の完成 Git 2.5 で導入された素晴らしい git worktree コマンドを使うと、複数のリポジトリブランチからのチェックアウトやブランチ上での作業を、異なるディレクトリで同時に行うことができます。たとえば、簡単な修正をする必要があるけどワーキングコピーを汚したくない場合、次のように新しいブランチを新しいディレクトリにチェックアウトすることができます。 Git 2.7 には、リポジトリのワークツリー (および関連するブランチ) を表示する git worktree list サブコマンドが追加されています。 ワークツリーをサポートする git bisect コ
このエントリは はてなデベロッパーアドベントカレンダーの21日目のエントリです。 developer.hatenastaff.com id:motemen さん作のリポジトリ管理ツールであるところの ghq を最近ようやく使い始めたところ大変便利だったのですが、いかんせん手元の~/work/や~/hobby/にはすでにgit cloneしたリポジトリが山ほど転がっています。今回、それをghq管理下のディレクトリにさっと移してghqライフをスタートさせた話をします。 ghq ghq そのものについての説明は作者のid:motemenさんのエントリが詳しいので、そちらをご参照ください。 motemen.hatenablog.com 代表的な使い方は↓こういう感じで、まぁだいたいどういうことかわかっていただけるのではないかと思います。 [asato@praline01 ~]$ ghq get g
git commit --fixup というオプションの存在を最近知って調べた。 ヘルプとリリースノートより "git commit" learned the --fixup and --squash options to help later invocation of interactive rebase. Git v1.7.4 Release Notes --fixup=<commit> Construct a commit message for use with rebase --autosquash. The commit message will be the subject line from the specified commit with a prefix of "fixup! ". See git-rebase(1) for details. 1.7.4 から入って
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く