タグ

gitに関するsgtakeruのブックマーク (44)

  • 提言: コミットメッセージの一行目には要求仕様を書け - Qiita

    これは Git (や Subversion などのバージョン管理システム) にコミットする時により良いコミットメッセージを書くための提言です。この提言は特にメッセージの一行目だけを対象とします。せめて最も重要な一行目だけでも良いメッセージを書いて欲しいからです。提言をズバリ一言で表すと 一行目には要求仕様を書け です。 背景 プロジェクトによっていろいろ慣習の差はあるものの、一般的には「コミットメッセージの一行目は変更内容の要約を簡潔に書け」とされます。特に Git は、各コミットメッセージの一行目だけを取り出してそれを一覧表示するなど、一行目を特別に処理する機能が多いので、一行目にできるだけ多くの情報を凝縮させることは重要です。またメッセージを一行しか書かない不届きな慣習のプロジェクトでは、十分な情報を持たないメッセージは無用の長物と化します。 良くないコミットメッセージ しかし私は、情

    提言: コミットメッセージの一行目には要求仕様を書け - Qiita
    sgtakeru
    sgtakeru 2014/05/30
    主語を「プログラマ」から「プログラム」へ。
  • ぐにゅぐにゅ動く直感的なGitクライアント ungit|TechRacho by BPS株式会社

    ungitはnode.jsで動くグラフィカルなgitクライアントです Learn Git Branchingみたいな直感的なGUIで操作できるので とても分かりやすいです インストール 今回はnvmを使用してnode.jsを入れます $ git clone git://github.com/creationix/nvm.git ~/.nvm $ source ~/.nvm/nvm.sh $ nvm install v0.10.22 $ npm install -g ungit $ nvm use v0.10.22 ログイン時も有効にしたい場合は.bashrcに以下のように書いておきます if [ -d $HOME/.nvm/ ] then source ~/.nvm/nvm.sh nvm use v0.10.22 > /dev/null fi 起動 以下のコマンドで

    ぐにゅぐにゅ動く直感的なGitクライアント ungit|TechRacho by BPS株式会社
    sgtakeru
    sgtakeru 2013/11/23
    nodeで動かすからブラウザで見るのか。
  • 卜部昌平のあまりreblogしないtumblr

    前回の続き。 前回の時点では「git blameが密になっているところはきっと活発に編集されていたに違いない」という仮説があったわけですが、これは当のところは、よくわからない。なぜかというと、blameというのは地層のように降り積もったコミットの表面に露頭してるところしか見せてくれないわけです。当に活発に更新されていたかを知るには、ようするに地質平面図じゃなくて地質断面図が必要なわけ。分かりますよね。 で、それはどうやって作ればいいかというと、gitには便利なgit log -pという、こういうとき便利だけど普段は使い道のなさそーなコマンドがあって、これは生のdiffをすべてだらだらと表示してくれるわけですよ。で、diffからblameを再構成するにはdiffの+行をひたすら集めてくればいいわけだけど、その時-行も一緒に覚えておいて、あるコミットでどのコミットが上書きされたかを覚えてお

    卜部昌平のあまりreblogしないtumblr
    sgtakeru
    sgtakeru 2013/11/18
    その行がどれくらい更新されたのかを可視化する。
  • Webサービス開発現場から / 近頃の開発のやり方 ・・・ Github と Pull Request とコードレビュー - naoyaのはてなダイアリー

    先日プレスリリースが出たのですが、KAIZEN platform という会社で技術顧問などをやっています。それから、一昨日自分も出たWebアプリケーション開発に関する勉強会 (資料) を開いたじげんという会社でも少し前から同じように顧問のような形で携わっています。 自分が関わっている会社のPRも含めて、すこし、2013年現在のWebサービス開発の現場感、やり方みたいなものを書いてみたいと思う。ただ、自分の利益があるところの話だけではフェアではないので、Webエンジニアならよく知っているであろう Qiita を運営しているインクリメンツの様子も合わせて紹介する。 KAIZEN platform KAIZEN platform が提供しているサービスは planBCD という A/B テストの SaaS で、Webサイトのコンバージョンだとかを画面の構成要素を変えて効果測定したいとか、そういう

    Webサービス開発現場から / 近頃の開発のやり方 ・・・ Github と Pull Request とコードレビュー - naoyaのはてなダイアリー
    sgtakeru
    sgtakeru 2013/10/15
    bitbucket + pull request で開発してる。確かにpull requestの方が開発しやすい。
  • gitリポジトリを軽くしよう!|TechRacho by BPS株式会社

    gitリポジトリの使い方を間違えると、非常に重くなってしまうことがあります。 巨大なファイルをコミットしてしまった 関連プロジェクトを1個のリポジトリにまとめすぎた まずは犯人を捜す 以下のコマンドで、コミットログをサイズと一緒に見ることができます。 git log --stat 眺めながら、怪しいコミットがいないか探してみましょう。 また、.git/objectsの中から重たいファイルを探して、バイナリエディタで眺めることでも、怪しいファイルの見当を付けられます。 巨大なファイルをコミットしてしまった gitはソースコード管理システムなので、巨大なファイルを管理するのには向きません。 ちょっとしたwordのドキュメントファイルや画像などは問題ありませんが、100MB以上もあるPSDファイルや動画ファイルなどを入れると、git statusなどの基的な操作も含めて急激に遅くなってしまいま

    gitリポジトリを軽くしよう!|TechRacho by BPS株式会社
    sgtakeru
    sgtakeru 2013/09/03
    filterを使ってコミットを削る。hash値が変わるという事はそれまでのリビジョングラフはどうなのだろう?
  • git rebaseを使うときのルール | Yakst

    Re: [git pull] drm-next Linus Torvalds Sun, 29 Mar 2009 14:48:18 -0700 (訳注 : Daveのrebaseのやり方が好みでないというLinusに対して) > 2009年5月29日(日曜日) Dave Airlieの発言 > > 今から自分がしようとしているのは、直線じゃないツリーを送ろうとしているだけだ。 > パッチを自分の次のツリーにマージする時はいつでも、そこにそれがあるからだ。 > 自分は、Ericのツリーを自分のツリーに直接プルして、その結果を送ろうとしている。 > きれいなマージ履歴について注意しているとは思っているけど、前に言ったように、 > カーネルツリーに関してのドキュメントが何もない状態では、君がどうしたいのか > 当のところは今の今まで分からないよ。 自分が求めているのは、きれいな履歴だ。でも、それ

    git rebaseを使うときのルール | Yakst
    sgtakeru
    sgtakeru 2013/08/01
    Linusによるrebaseの使用ポイント。「自分の履歴はきれいに」「他人の履歴はいじるな」。
  • 「こわくない Git」というスライドを発表しました - kotas.tech

    社内向けに「こわくない Git」というタイトルのスライドを作って発表しました。 対象者は「マージがなんとなく怖い」「エラーが怖い」「リベース使うなって言われて怖い」と、Git が怖いと思っている人です! こわくない Git from Kota Saito 発表中に出た質問など 補足も兼ねて、上のスライドを発表した際に出た質疑応答などをここに書いておきます。 Q: 常に Non Fast-Forward (--no-ff) でいいのでは、と思えるけど git merge がデフォルトだと Fast-Foward or Non Fast-Forward (--ff) なのはなぜ? A1: Non Fast-Forward だと、確かにメリットが多いのですが、1点だけデメリットがあります。特に差分が無い状態で git merge --no-ff すると、空のマージコミットが作られてしまうのです。

    「こわくない Git」というスライドを発表しました - kotas.tech
  • git add したあと、commit するの忘れてて reset --hard しちゃったけど、取り戻したい #git - Qiita [キータ]

    git add したあと、commit するの忘れてて reset --hard しちゃったけど、取り戻したいGit やっちまった〜 commit してたら最強の味方 reflog 使えるけど add しかしてないしなぁ…… でも、git は objectdb だし、add している時点で 何処かに保存されているはず!! と思って調べたら git fsck を発見!! どこにも属してないものが見れる!! やった!! これで hash とれるので git unpack-file で内容だけは復元できる!! つまり

    git add したあと、commit するの忘れてて reset --hard しちゃったけど、取り戻したい #git - Qiita [キータ]
    sgtakeru
    sgtakeru 2013/05/25
    git fsck --lost-foundか、git fsck|grep blob|cut -d \\\' \\\' -f3 |xargs git unpack-file
  • Linus君がボクを後継者に指名した理由 - Gitメンテナー 濱野 純氏

    今やソースコード管理システムの標準となっている「Git」(関連記事)。作者のLinus Torvalds氏から指名され、メンテナーとして責任を負っているのが現在米国のGoogle社に勤務する濱野純氏だ。濱野氏に、メンテナーを引き継いだ経緯、Googleでの仕事などについて聞いた。 Gitコミュニティはどのように活動しているのですか。 体の開発は、デザインからコードレビューまで、すべてGitメーリングリストで行っています。最近のリリースには、それぞれ60人から80人程による変更が入っていますが、常に活動している主要な開発コミュニティ参加者、と言えるのは10人程度です。 開発者でない人たちで#git IRCチャネルとか、stackoverflowなどでエンドユーザーのサポートをしてくれる人たちの数はもっと多いと思います。この人たちも、Gitコミュニティの重要な仲間です。 Gitコミュニティ

    Linus君がボクを後継者に指名した理由 - Gitメンテナー 濱野 純氏
  • git の運用指針 - Cube Lilac

    ソフトウェア開発に関しては、これまでほぼ一人で完結していた*1ので git の運用方法もかなり適当だったのですが(ただのコミットマシーン状態)、今回、同一プロジェクトに対して複数人でコミットしていく形になっているので、その状態だとやはりまずいなと言う気がしてきました。ググっていると「なるほど」と思う記事もたくさんあったので、それらの記事を元に自分のプロジェクトの「git の運用指針」を情報共有のために記載しておこうと思います。 前提 まず始めに、現在のプロジェクトの状況は下記のようになっています。 開発は 1 人のメインコミッタ(私)と数人のサポートコミッタ(アルバイト等)で行われる メインコミッタはフルタイム、サポートコミッタは週に数時間〜10時間程度の勤務形態 サポートコミッタに対しては、基的に 1 機能(1 チケット)を 1 人で完結するように作業を配分するが、時間的な兼ね合いもあ

    git の運用指針 - Cube Lilac
  • コミットメッセージの書き方 - 2012-02-21 - ククログ

    はじめに 「分かりやすいコードを書く」、「コードと一緒にテストも書く」等はソフトウェア開発において大切なことです。しかしそれと同じくらい大切なことして「分かりやすいコミットメッセージを書く」があります。これはあまり着目されていなく、見過ごされていることです。 今回は、コミットメッセージの分かりやすさの大切さ、そして、分かりやすくするための書き方を説明します。 コミットメッセージとその大切さ バージョン管理システムとコミット 現在、ほとんど全てのソフトウェア開発ではSubversionやGitなどのバージョン管理システムを使っています。バージョン管理システムを使うことによるメリットというのは、ソフトウェアの変更が記録されていくことにあります。 具体的なメリットは3つあります。 ソフトウェアの調査がしやすくなることです。現時点でのコードと、そして変更の履歴とを組み合わせることで、それらから非常

    コミットメッセージの書き方 - 2012-02-21 - ククログ
  • Learn Git Branching

    A interactive Git visualization tool to educate and challenge!

    Learn Git Branching
    sgtakeru
    sgtakeru 2013/03/18
    ブラウザ上でGitのブランチモデルを勉強できる。グリグリ動いてすごくわかりやすい。
  • Confluence

    {"serverDuration": 17, "requestCorrelationId": "f12953c41087422ba55291f4cd3ff3b9"}

  • 【派閥別】Gitのコミットを間違えたときの対処法まとめ - 本当は怖いHPC

    追記:たくさんブクマしていただいて驚いております。ブクマコメントだと、やはり git push -f は反則だろという意見がサイレントマジョリティのようですが、そこはそれ、自 己 責 任 追記2(2011/11/07):commit messageをミスった場合について訂正しました。 git rebase -i で直近のコミットを "edit" にして修正すると、 「--amend使えや」と言われるようです。 gitのコミットをしくじった時の対処法について、一覧性の高いまとめがなかったので作りました。正確さは保証できないので、コマンド名ヒントに自分でググって下さい ほかのやり方があるよ、間違ってるよ等のご指摘歓迎です。 派閥別 gitでコミットミスった時のまとめ | ├─ 一人で使ってるよ |   | |   ├─ 手元に変更を取り戻したいよ(1)(そうだね、add忘れだね派) |   |

    【派閥別】Gitのコミットを間違えたときの対処法まとめ - 本当は怖いHPC
    sgtakeru
    sgtakeru 2013/01/16
    フローチャート
  • ホームディレクトリをGitで簡単に管理するための.gitignore活用法

    さて、まったくブログを更新していないtfmagicianです。 こんにちは。 先月は1記事しか書いてないですね。今年は月10記事以上を目標に、楽しみながら書いていきます。 今日は、Gitをネタに取り上げます。 前回はプロジェクトに関するGitネタでしたが、今回は個人的なモノ。 Gitと一緒にCakePHPを楽しむ – CakePHP Advent Calendar 2010 6日目 あなたの宝物が詰まったホームディレクトリをGitで管理してみます。 ホームディレクトリの”なに”を管理するか これは人によって異なります。 例えば、あなたがMac使いで、Mac上でGitを使うというなら、ドキュメントも管理したくなるかもしれない。 例えば、あたながLinux使いなら、設定ファイルだけGitで管理出来れば良いかもしれない。 .gitignoreをうまく設定出来れば、どちらのパターンも対応出

    sgtakeru
    sgtakeru 2012/11/26
    /* で全部無視してから、!/.zshrcなど、共有する場所を「!」で除外設定する。
  • 天下一gitconfig大会

    天下一gitconfig大会(サイボウズ社内git勉強会@2012/11/20)の@teppeisの資料です。 ぎっとぎとにしてやんよ GistDeck gistでmarkdown書いたらbookmarkletでプレゼンになるよ。 ↓これをBookmarkに登録してこのページで実行してみよー! javascript:(function()%7Bvar%20s%3Ddocument.createElement(%27script%27)%3Bs.setAttribute(%27src%27,%27https://raw.github.com/teppeis/gistdeck/fix/gistdeck.js%27)%3Bdocument.getElementsByTagName(%27head%27)%5B0%5D.appendChild(s)%3B%7D)()%3B 複数行のcodeとかが微

    天下一gitconfig大会
  • rebaseにまつわる3つの誤解

    "3 superstitions concerning git rebase" In-house training material at Cybozu. Read less

    rebaseにまつわる3つの誤解
  • 危なくないgitこと、うちのチームのgit戦略草案(ver. 2)

    履歴 恥を忍んで記事を公開させていただいたおかげで、いろいろフィードバックいただきました。フィードバックを取り込んで更新を行なっています。 2012/11/16: cherry-pickしやすいように、というくだりのところは論理通ってないので削除しました。 1 pull req. 1 commitの原則をやめました。言いたいことであった「試行錯誤の過程を入れないで」を丸パクリしました! > id:kazuho その他表記修正、クリアコードさんの記事に説明丸投げなど。 まえがき gitでトラブった!という話を何度か聞いたことがあります。なんでトラブッてるんだろう…と話を聞いたところ、同一のリモートブランチに対して複数人・複数環境から操作が行われているようです。極端な例を挙げると、masterブランチしか存在しておらず、コミットログをキレイにするためと称してgit pull –rebaseを常

    危なくないgitこと、うちのチームのgit戦略草案(ver. 2)
  • サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】

    ようこそ、サル先生のGit入門へ。 Gitをつかってバージョン管理ができるようになるために一緒に勉強していきましょう! コースは4つ。Git初心者の方は「入門編」からどうぞ。Gitを使った事がある方は「発展編」がおすすめです。さらに「プルリクエスト編」では、コードレビューする文化をチームに根付かせましょう。 「あれ?何だっけ…?」という時は「逆引きGit」で調べて見てくださいね。

    サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】
  • 引数なしのgit pushは危険なので気をつけましょう · DQNEO日記

    絨毯爆撃pushの例 いまmasterブランチに、未プッシュのコミットがあるとします。 ここで、新たにbr1ブランチを作ってチェックアウトします。 $ git checkout -b br1 master $ git branch * br1 master br1ブランチでコミットを作ります。 echo hello >> hello.txt git add . git ci -m "add file" 引数なしでプッシュします。 git push すると、どこに何がpushされると思いますか? 実は、master -> masterにpushされます。 masterがまだpushできる状態でない場合、これはかなり痛い。すごく痛い。頭が頭痛でおなかが腹痛。 しかもpushしたかった当のbr1ブランチはpushされないというオチ。(リモートにbr1ブランチがない限りは) この挙動は大半のユーザ

    引数なしのgit pushは危険なので気をつけましょう · DQNEO日記
    sgtakeru
    sgtakeru 2012/10/28
    git push origin branch| git-configに設定を追加する