タグ

Gitに関するbigwestのブックマーク (222)

  • git logを見やすく

    git log --graph --onelineをメインに使っていたんだけど、現在時刻に対する相対的な時刻とかコミッターの名前とか表示したくなったので色々いじってた。%C(white bold blue)とかでターミナルの色を参照して文字色と背景色を指定することができるということを理解するまでが長かった……。 上記スクリーンショットのようなgit logは以下のようなコマンドで実現できる。 $ git log --graph --pretty='format:%C(yellow)%h%Cblue%d%Creset %s %C(black bold)%an, %ar%Creset' %dで参照名(ブランチやタグ、リモートブランチ)を、%anでコミッターの名前を、%arでコミットの相対的な日付を表示するようにして、%Cで色を変えている。%Credと%Cblue、%Cgreen以外を使う場合は

    git logを見やすく
    bigwest
    bigwest 2012/03/06
  • Gitでマージしたバイナリファイルがconflictした場合の解決策|DIGITAL SQUADブログ

    Gitでマージしたバイナリファイルがconflictした場合の解決策 Gitでマージした際にバイナリファイルがコンフリクトした場合 現在いるブランチaにブランチbをマージした際に、db/development.sqlite3がコンフリクトした場合。 ブランチaの方を採用する場合 git checkout --ours db/development.sqlite3 ブランチbの方を採用する場合 git checkout --theirs db/development.sqlite3 その後にgit commit する。 ちなみにコンフリクトしたファイルの確認はgit ls-files -u タグ:Rails git Tweet posted by digital-squad at 2010年05月25日 11時20分 | Comment(0) | TrackBack(0) | Git この記

    Gitでマージしたバイナリファイルがconflictした場合の解決策|DIGITAL SQUADブログ
    bigwest
    bigwest 2012/03/05
  • 「Pull Request」 はオープンソースに限らず使える優れた開発フローだ - 肉とビールとパンケーキ by @sotarok

    チーム開発において、「チケット/Issue」「TDD」「コードレビュー」など、ソースコードの変更に対する効果的な開発フローについてよく考えるのだけど、なんにしてもこのあたりは非常に課題が多く、各社各コミュニティで色々なやり方が模索されているポイントだと思う。 で、まぁご多分に漏れず僕もよく考えるわけだけど、現状その過程で Pull Request こそが非常に効果的なのではないか、と思うので、ちょっとまとめてみようかと思う。 もちろん、言うまでもないようなことだよ、という人もいるかもしれないけど、そういう人がたくさんいると、非常に喜ばしいことだね。 Pull Request とは GitHub でこう呼ばれているので、こう呼ぶことにするが、ここでは、複数のリポジトリ/ブランチ間でのオープンな patch のやりとりのことだと考える。 あと、自分が使っているのが Git なので、ここでは G

    「Pull Request」 はオープンソースに限らず使える優れた開発フローだ - 肉とビールとパンケーキ by @sotarok
    bigwest
    bigwest 2012/02/28
  • git stash pop忘れが酷いのでzshのプロンプトにgit stash...

    git stash pop忘れが酷いのでzshのプロンプトにgit stash listの数を表示するを組み込んだ。zsh で Git の作業コピーに変更があるかどうかをプロンプトに表示する方法と合わせてこんな感じに表示するようにした。 全然分かってないまま適当に継ぎ足しました…。

  • プログラマならば使うべき:GitHubでDNS管理ができる Luadns | Everyday Deadlock

    さきほどTwitterで流れてきたのでたまたま見つけたのですが、LuadnsというDNSホスティングサービスがかなり凄いです。Luaスクリプトでゾーン設定を書いてGitHubにpushするだけで即座にDNS設定ができてしまいます。 DNSホスティングサービスというと、多くの場合ブラウザを開いてログインしてコントロールパネルからポチポチと入力して送信して、、、という手順を踏まないと設定が更新できないわけですが、Luadnsは違います。example.com.lua ファイルをEmacsやVim(やその他エディタ)で開いてLuaスクリプトを書き、git commit & git push で設定が完了してしまいます。push にフックして Luadns の設定が自動的に更新されます。 マウスまで手を動かすのが無限に遠く感じられるプログラマにとっては、これほど素早く簡単にDNSが設定できるのはか

  • gitで始めるバージョン管理

    ・開発履歴を残すことにより、開発履歴を呼び出す、比較できる ・編集履歴はバージョン管理システムの中に保存されるので、開発用のコメントアウトや.bakファイルが残る、といったことを回避できる ・最新の編集履歴と比較することで、今現在、ファイルが編集されている状態かどうかが分かる * git って? 先日のblogでも、紹介されていますね! 非エンジニア出身の新米Webディレクターが覚えておくべき10の用語 その2 分散型リポジトリのバージョン管理システムです。 “分散型リポジトリのバージョン管理”という語句の説明を簡単にすると、 ・サーバ上にソースコードのマスター(中央リポジトリ)がある ・開発者はそれをコピーして、自分だけの環境下(ローカルリポジトリ)で開発を行う ・ローカルリポジトリでの編集が終わったら、その差分を中央リポジトリに送る ・他の開発者は中央リポジトリから、その差分を持ってき

    gitで始めるバージョン管理
    bigwest
    bigwest 2012/02/27
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • A successful Git branching model を補助する git-flow を使ってみた - Twisted Mind

    git-flow という git の運用を補助するプラグインを使ってみたので、その過程をメモしてみました。 そもそも git を採用理由なども書いていきたいと思います。 git を採用した理由 まず何よりも git を採用した理由ですが、日語のがたくさんある。Subversion のように気軽にブランチを切ったりマージが出来ない方法では「開発スピードにバージョン管理がついてこれない」という結論に至りました。 そこで svn から git へ以降の準備を進めています なぜ hg や bzr ではないのか git-svn を前々から使っていて rebase のありがたみや branch を気軽にきる運用になれていたからというのもありますが、なにより身近に詳しい人が多いというのが一番です。 Tower や GitX という素敵な GUI があるのも魅力の一つですね。 A successful

    A successful Git branching model を補助する git-flow を使ってみた - Twisted Mind
  • Gitの運用ルール、フローを考えてみた

    徐々にGitに移行しつつあるのですが、複数人数(チーム)でGitを使った場合の運用ルール、ワークフローというものを考えてみました。 Git使い始めということもあり、不備は多々あると思います。アイディア等あれば是非教えて下さい! 原則 masterで作業しない。ブランチを作って作業する。 ブランチでは1機能もしくは1バグのみ作業する。 ワークフロー 準備 ローカルのmasterに移動する $ git checkout master ローカルのmasterをリモートと同期する $ git pull origin/master masterから、作業用のブランチを作成する。 $ git checkout -b branchname master ブランチ名は担当者名と作業名をスラッシュで結合したものとする。 例: taro/featurename, taro/bugname コーディング コード

    bigwest
    bigwest 2012/02/23
  • githubを会社で導入してみて感じたこと - モノノフ日記

    会社で利用するソースコードのバージョン管理システムをgithubに移行しつつあります。 gitは以前から個人で利用していたのでブランチ管理のメリットや気の利いたマージなどはもう知っていたのですが githubで同時に複数人で開発をする、という状況は初めてだったので感じたことを残しておきます。 導入 まず当然なのですが開発スピードは上がってます。 これはgithubというよりgitの分散リポジトリの仕組みが大きいです。svnでsvk使うと効率が良いのと同じことです。 そこで問題になるのが各開発者のリポジトリ間をどうやってマージさせていくのか、って所なんですが masterからリリース用のブランチを切ってそこにpull requestを投げて他の開発者に確認してもらってからマージする、という流れで今は運用しています。 投げられた側が確認してマージをコミットするので責任は一蓮托生としてます。 人

    githubを会社で導入してみて感じたこと - モノノフ日記
    bigwest
    bigwest 2012/02/20
  • GitHub - hatena/Git-for-Designers: はてなのデザイナ向けの Git 入門ドキュメントです。

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - hatena/Git-for-Designers: はてなのデザイナ向けの Git 入門ドキュメントです。
  • git commitをやり直しする&取り消しする(「get commit --amend」と「git reset」) - hogehoge foobar Blog Style Beta

    git commitを実行あとでコミットをやり直したり、コミット自体を取り消す方法です。 直前にしたコミットをやり直す(git commit --amend) 直前にしたコミットをやり直す場合、「git commit --amend」を使用します。 例えば、直前のコミットログが以下のような状態だったとします。 実は直前のコミットに含めるべきであった「hoge.txt」が含まれていませんでした。 コミットログ(git commit --amend 実行前) $ git log commit cca638b48b4c8be7ad5432f7882497534b04e2b4 Author: mrgoofy <hogehoge@example.com> Date: Wed Sep 8 23:03:57 2010 +0900 2nd Commit.-> New Add File : bar.txtこ

    git commitをやり直しする&取り消しする(「get commit --amend」と「git reset」) - hogehoge foobar Blog Style Beta
    bigwest
    bigwest 2012/02/13
  • Gitのブランチで効率的に開発・運用・保守・管理する方法 - (DxD)∞

    はじめに 最初に、Gitに関するリソースとして、では「入門Git」と「実用Git」、Web上では「Pro Git」が読みやすく、わかりやすいため、Gitについて知りたい人は一読をおすすめします。 特に、他のバージョン管理システムに関する前提知識がある場合には、Gitの概念や使い方も比較的スムーズに理解できるかと思います。実際に、バージョン管理システムをSubversionからGitへと移行してからしばらくが経ちますが、通常の操作に関しては、それほど不自由することなくGitを利用できています。 しかし、Gitを利用していくにつれて色々と疑問も出てきます。局所的なワークフローについては、様々なリソースによって理解することができます。では、効率的に開発・運用・保守・管理を行うために、大局的・継続的なワークフローをどのように採ればよいのか、特にGitの柔軟性を活かすにはブランチをどのように使えば

    bigwest
    bigwest 2012/01/31
  • A successful Git branching modelから重要なとこを抽出 - Qiita

    Git使うなら絶対に一度は読んだ方がいい良エントリ A successful Git branching model 日語訳 理屈は文読めということで、ルール的な箇所を抽出 ブランチの種類 メインブランチ サポートブランチ サポートブランチはさらに3種類に分類される メインブランチ メインブランチはmasterとdevelopの二つ この二つは常に存在するし、削除しない masterでの開発は一切しない developで開発してmasterにマージするのが大きな流れ サポートブランチ フィーチャーブランチ リリースブランチ ホットフィックスブランチ 用が済めば削除される フィーチャーブランチ developから分岐してdevelopにマージされる 命名規則は特に無し(他の種類のブランチと区別がつくように) 個々の機能を実装する originにはpushしない フィーチャーブランチの一生

    A successful Git branching modelから重要なとこを抽出 - Qiita
    bigwest
    bigwest 2012/01/31
  • git revert で複数コミットを打ち消す - miauのブログ

    git にはコミットした内容を取り消す方法がいくつかありますが、いったんリリースしたコンテンツの公開期間が終了してその内容を取り下げたいような場合は、git revert でリリース時のコミットを打ち消すコミットを作るのがお作法です。 今回まさにそういう状況になったんですが、リリース時のコミットが複数回にまたがっており、それも 先のエントリ で書いたように他の対応と入り交じってコミットされてしまっています。 こういう場合にどう revert すればいいかという話です。 revert の基的なところ 例えば 3a0e871f というコミットを打ち消したい場合は、 git revert 3a0e871fを実行すれば、 Revert "xxx 対応" This reverts commit 3a0e871ff60411ca89fa07c7f2b4d426fa04285d.のようなメッセージがみ

    git revert で複数コミットを打ち消す - miauのブログ
    bigwest
    bigwest 2012/01/05
  • Git初心者が絶対に覚えておくべきコマンド - idesaku blog

    Gitの使い方を覚えるにあたって、まず知っておきたいのは――git-cloneだのgit-commitだのは当然として――「操作をミスったときにどのように回復するか」である。それを実現するのは、次の3つのコマンドだ。 git-commit --amend git-reset git-reflog git-commit --amend あるファイルをコミットしたとしよう。 $ (edit...) $ git commit -am 'メッセージ生成処理を実装したよ。'しかし、しばらくして彼は気づいた。 def create_massage(param) ...typoしてる!massageじゃない、messageだ!マッサージを作ってどうする! 慌てるな。まずは直してステージに上げるんだ*1。 def create_message(param) ...$ git add .そして…。 $ gi

    Git初心者が絶対に覚えておくべきコマンド - idesaku blog
    bigwest
    bigwest 2012/01/05
  • gitをテキトーに使って生産性を向上したユースケース - 西尾泰和のはてなダイアリー

    バージョン管理とかgitとかが「おおげさでめんどくさいもの」だと思う人は多い。でも、それは生産性向上のチャンスを逃していると思う。特に業務として多人数で開発している人たちの「変更前にはまずトピックブランチ」というやり方が、それはそれでよい方法なんだけど、いかにもめんどくさそうで尻込みさせてしまうのではないか。 先日の日曜日に、テキトーなgitの使い方をして、とても役に立ったのでユースケースとして報告しておこう。ただし、若干特殊な環境なのでここでやった方法が直接そのまま皆さんの所で使えるとは限らないが。 まず環境の説明。プロジェクトは「次の日曜日、新感覚シューティングゲームを展示します」で紹介している、テーブル型ディスプレイで動くシューティングゲーム。メインは @tokoroten で、ソースコードをバリバリ変更している。土曜日にとりあえず動くところまでは行った。改善点は山積みだ。使える時間

    gitをテキトーに使って生産性を向上したユースケース - 西尾泰和のはてなダイアリー
    bigwest
    bigwest 2011/12/26
  • Git管理の神ツール「Gitolite」なら、ここまでできる!

    「Git」使ってますか? 近年、分散バージョン管理システム「Git」が急速にシェアを伸ばしています。筆者は、チケットシステムやバージョン管理の勉強会などを開催したりしていますが、Gitユーザーがかなり増えてきていると感じます。 しかしながら、そのような勉強会でアンケートを取ってみると、実案件では半分以上の人がSubversionを利用しており、Gitの導入はまだまだ進んでいません。移行コストが掛かったり、プロジェクトマネージャ層への知名度がまだまだ低いというのもありますが、理由の1つとして、ユーザー管理が煩雑であったり、アクセス制御に関する情報が不足しているということもあると思います。 そういうわけで稿では、Gitリポジトリのユーザー管理やアクセス制御を簡単に行う「Gitolite」を紹介します。 なお、稿ではGitの利用方法については紹介しませんので、Git自身の使い方については改め

    Git管理の神ツール「Gitolite」なら、ここまでできる!
    bigwest
    bigwest 2011/12/15
  • ナウなヤングのためのgithub入門講座 -基本機能からdotfiles管理まで- - tumblr

    gitによるバージョン管理 バージョン管理システムはつかってますか? 僕は前に自分の作成したコードを元に、後輩にプログラムを作らせようとしてまずは僕のコードをコピペしろと指示したところ、コピペしかしてない(と言い張る)割にはコピペしたコードは動かず、さらに何故かコピペ元の僕のコードが滅茶苦茶に荒らされて当然のごとく動かなくなるという、なんかもう幽霊の存在を認めない限り説明がつかないような怪奇現象に遭遇したことがあります。しかもそのときはcpコマンドによるバックアップに頼っていて運悪くバックアップを忘れたために僕の貴重な1日が消え去ってしまった訳でして、それから僕はバージョン管理システムに頼ることを固く心に決めました。また僕はその目を覆いたくなるような残虐な事件以来、建設業界に見習って、IT業界でもプロジェクトキックオフ時にお祓いはすべきだと訴え続けています。 まぁそれはいいとして、いやまだ

    ナウなヤングのためのgithub入門講座 -基本機能からdotfiles管理まで- - tumblr
  • git: トピックブランチを使った開発で conflict したら、とりあえず git-stash で横に置いておこう

    git: トピックブランチを使った開発で conflict したら、とりあえず git-stash で横に置いておこう 具体的には、 $ git stash save 'comment' $ git stath list ... で、save した stash を comment つきで確認できる $ git stash pop ... で、stash が破棄される stash に一時退避した変更を捨てるには、 $ git stash drop

    git: トピックブランチを使った開発で conflict したら、とりあえず git-stash で横に置いておこう
    bigwest
    bigwest 2011/12/08