タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

Gitに関するterazzoのブックマーク (37)

  • git-notesでコミットにメモをつける - アジャイルSEの憂鬱

    2020年に「コミットログは良くならない」というのを悟ったので、現実的な解決案である「git-notesでメモを残す」について記事を書いておきます。 前回の記事 sinsoku.hatenablog.com git-notes 詳細は git notes --help を読んでください。 概要は以下の通りです。 コミットログとは別にメモを残せる コミットはそのままなのでshaは変わらない shaが変わらないのでCIの再実行が起きない 他人のコミットにメモをつけられる 他人に作業を依頼する必要がない メモもリモートにプッシュできる 過去のコミットにメモを残せる 使い方 メモを書く git notes edit <sha> でメモを書くと、git log のときに一緒に表示される。 $ git notes edit d2cdf0b $ git log -1 d2cdf0b commit d2c

    git-notesでコミットにメモをつける - アジャイルSEの憂鬱
    terazzo
    terazzo 2021/01/09
    マージコミットの自動メッセージとかをそのまま残して別にメモつけたり?
  • 「新機能作成時に開発ブランチに細かくmergeしていく戦略」について社内勉強会で発表しました - Hatena Developer Blog

    はてなのアプリケーションエンジニアのid:shiba_yu36です。社内技術勉強会で「新機能作成時に開発ブランチに細かくmergeしていく戦略」という発表をしたので、資料を公開します。 speakerdeck.com 以下、簡単に文字でまとめておきます。 戦略 ユーザーに新機能が見えないようにする工夫をし、新機能のbranchもどんどん開発ブランチにmergeしていく mergeされたものは随時番にリリースされるが、ユーザーに見えない工夫をしているので問題なし PRは可能な限り細かくする 機能が完成したら最後にユーザーに新機能を見えるようなPRを作り、mergeしてリリースする なぜこの戦略を使うのかいろんな失敗を経験して、この戦略を最近使っている。 失敗パターンその1: 巨大PRパターン 失敗パターンその2: 新機能リリースブランチパターン 失敗パターンその1: 巨大PRパターン 新機

    「新機能作成時に開発ブランチに細かくmergeしていく戦略」について社内勉強会で発表しました - Hatena Developer Blog
    terazzo
    terazzo 2017/08/08
    共通メソッドの話は下のレイヤーから機能別にcommitすれば回避できそう
  • Google、「Cloud Source Repositories」正式公開。Gitベースのソースコード管理ツール、5ユーザー、50GBまで無料

    Cloud Soruce Repositriesは、Google Cloud Platform上でホストされるGitリポジトリ。プライベートなGitレポジトリをいくつでも持つことができます。 ソースエディタ機能も備わっており、レポジトリの内容のディレクトリ表示、ファイルのコンテンツ表示、2つのソースファイルを開いて差分を表示することなどが可能。

    Google、「Cloud Source Repositories」正式公開。Gitベースのソースコード管理ツール、5ユーザー、50GBまで無料
    terazzo
    terazzo 2017/05/26
  • Git for Windows 2.xのシステムコンフィグファイルは2つある - Qiita

    # 全ユーザで共有している設定を出力する git config --system --list # ユーザ固有の設定を出力する git config --global --list # リポジトリ固有の設定を出力する git config --local --list の3つのコマンドを続けて実行したときと同じものになるはずである。 ところが、Git for Windows 2.7.0のGit Bashで同じコマンドを実行してみると、 $ git config --list core.symlinks=false core.autocrlf=false color.diff=auto color.status=auto color.branch=auto color.interactive=true help.format=html http.sslcainfo=C:/Program Fi

    Git for Windows 2.xのシステムコンフィグファイルは2つある - Qiita
    terazzo
    terazzo 2017/05/19
    罠だ
  • Microsoft、巨大リポジトリを快適に管理できるGVFS(Git Virtual File System)を発表 | ソフトアンテナ

    Microsoft日、巨大なGitリポジトリを快適に管理するための専用ファイルシステム「GVFS(Git Virtual File System)」を発表しました(slashdot)。 GVFSはGitリポジトリを格納するための専用ファイルシステムで、リポジトリを仮想化し、巨大なリポジトリでも高速な動作を可能とすることを目指して開発されているものです(具体例としてあげられているWindowsのコードベースは350万件を超えるファイルが存在し、サイズは270GBを超えている模様)。 必要なファイルだけをダウンロードすることでcloneを高速化し、リポジトリの状態を積極的に管理することで、checkoutやstatusなどに必要な時間も短縮します。例えばcloneにかかる時間が12時間から数分に、checkoutは2〜3時間から30秒に、statsuは10分から4〜5秒に短縮されるとしてい

    Microsoft、巨大リポジトリを快適に管理できるGVFS(Git Virtual File System)を発表 | ソフトアンテナ
    terazzo
    terazzo 2017/02/05
  • 「Git 2.8.0」がリリース、submodulesの並列フェッチが可能に

    「Git 2.8.0」では、新機能としてsubmodulesの並列フェッチが可能になる。submodulesは、他のレポジトリをレポジトリのサブディレクトリのように使える機能で、プロジェクトへのライブラリや外部の依存関係の統合に便利。しかし、多数のsubmodulesがある場合フェッチに時間がかかるが、今回の新機能により実行時間が短縮される。 また、.gitconfigでユーザー名とメールアドレスを指定している場合、.gitconfigの指定と異なるユーザー名やメールアドレスでコミットした際に、警告は表示されるものの、コミット自体は実行されてしまうが、「Git 2.8.0」では異なるユーザー名やメールアドレスでのコミットを禁止する設定が追加された。 さらに、今回のリリースではGit for Windowsプロジェクトにおける成果の還元によって、プラットフォームにまたがる新機能の追加を行いや

    「Git 2.8.0」がリリース、submodulesの並列フェッチが可能に
    terazzo
    terazzo 2016/03/30
    今あるsubmoduleとは違うのかな。個別にinitしなくても取り込まれるとかだとイイナ。
  • git fetch の裏側では何が起こっているか - 詩と創作・思索のひろば

    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 fetch の裏側では何が起こっているか - 詩と創作・思索のひろば
    terazzo
    terazzo 2016/03/10
  • gitコマンド派閥 - 弥生開発者ブログ

    Misoca開発チームのmzpです。 開発チームでgitコマンドの使い方について話したら、それぞれ使い方が微妙に違っていることが分かりました。せっかくなので、それぞれの人に、なぜその使い方をしているか聞いてみました。 一時的に変更を退避させる方法 作業を中断するときにするとき、作業中の内容を退避させる方法です。 git stash派 git stash で退避させる派です。 そして再開するときは、 git stash pop で退避させた内容を適用します。 使っている理由は「コミットする内容はキレイに保ちたいので、作業中の内容はコミットしたくない」でした。 適当にコミットする派 適当な内容でコミットし、あとで cherry-pick するなり、 rebase するなりする派です。 使っている理由は「退避した内容をリモートのブランチにpushしたいので、普通にコミットしている」でした。 pu

    gitコマンド派閥 - 弥生開発者ブログ
    terazzo
    terazzo 2016/02/26
  • Git のコンフリクトを解決する 14 のヒントとツール | Atlassian Japan 公式ブログ | アトラシアン株式会社

    Git はコードのマージを非常に得意としています。マージとはローカルで高速、そして柔軟に行えるものです。当然のことですが、異なるブランチから誰かがコンテンツをマージするたびにコンフリクトが発生します。コンフリクトを解決するには、主な変更点を把握して見抜かなければなりません。コンフリクトの解決は、時には多くの作業が必要になります。 開発者にはそれぞれ好みのコンフリクト解決方法があります。そのため同僚ライターのダン・スティーブンが以前、Questions for Confluence を使用して社内の人に質問していました。 返ってきた回答と洞察はアトラシアン社員だけではなく、もっと多くの人に役立つものでした。そこで私たちが Git コンフリクトを解決するさまざまな方法を以下に詳しく注釈付きで紹介します。皆さまの毎日のコーディング作業に役立つアイデアや方法がここで得られることを願います。 セット

    Git のコンフリクトを解決する 14 のヒントとツール | Atlassian Japan 公式ブログ | アトラシアン株式会社
    terazzo
    terazzo 2016/02/26
  • Pull RequestごとにデプロイされるHerokuのReview Appsを仕事で使ってみたら超絶便利だった - 月曜日までに考えておきます

    業務でGitHubを使っていて、developブランチにマージされたらステージング環境として使っているAWS上のサーバにデプロイされるようにしています。この時点で割と便利なんですが、マージ前にデザインや挙動を確認したいというケースも多いのでこの部分何とかしたいなぁと思っていました。 Review Appsとは 最近、HerokuGitHubとの連携を強化しています。以前だったら GitHubの特定のブランチにPushされたら、Herokuにデプロイする ということを実現しようとすると、CircleCIなどのCIツールを使ってやるのが一般的でした。 そこが最近変わりました。Heroku側からGitHubと直接連携して、「GitHubの変更を受けてHerokuにデプロイ」がHeroku側の画面でポチポチやるだけで簡単に実現できるようになっています。 この時点でかなり便利なのですが、さらに「P

    Pull RequestごとにデプロイされるHerokuのReview Appsを仕事で使ってみたら超絶便利だった - 月曜日までに考えておきます
  • 気付いたら.gitignoreはgiboで自動生成する時代になっていた - Qiita

    $ gibo --version gibo 1.0.4 by Simon Whitaker <sw@netcetera.org> https://github.com/simonwhitaker/gibo $ gibo java ### https://raw.github.com/github/gitignore/8c9b77cb5c85f6464c0bb31abdf4cfcfdf6833bb/java.gitignore *.class # Mobile Tools for Java (J2ME) .mtj.tmp/ # Package Files # *.jar *.war *.ear # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid*

    気付いたら.gitignoreはgiboで自動生成する時代になっていた - Qiita
    terazzo
    terazzo 2016/01/04
    宜保愛子人気だな
  • 既に git 管理しているファイルをあえて無視したい - Qiita

    git でファイルを無視するには、通常は .gitignore や .git/info/exclude を使います。 しかし、既に git 管理下にあるファイルは、これらの設定があっても無視されません。 以下の方法を使えば、git 管理下にあるファイルをあえて無視することが可能です。 方法 次の2つの方法があります。どちらを使っても、ファイルの変更を無視できます。 方法(1) assume-unchanged

    既に git 管理しているファイルをあえて無視したい - Qiita
    terazzo
    terazzo 2015/10/26
  • githubの特定ブランチへのgit push --forceをprotectしてエンジニアの精神崩壊を防ぐ( ꒪﹃ ꒪)ブクブク - Qiita

    githubの特定ブランチへのgit push --forceをprotectしてエンジニアの精神崩壊を防ぐ( ꒪﹃ ꒪)ブクブクGitGitHub Protected branches and required status checks もうお済みですか!? 9月4日のことですがgithubより以下の機能がリリースされています。 特定ブランチへのforce pushを無効する 特定ブランチへのマージ時にステータスチェックを必須にする(CIと連携している場合は、テストが通るまでマージできないようにできる) これを実施することで、ある日新人が謎の空のコミットをmasterブランチにforce pushして来たり、ある日途中からJOINした人がpull reqもせずにdevelopブランチに謎コミットをforce pushして来たり、ある日とあるOSSで間違えて一ヶ月前のローカルレポジト

    githubの特定ブランチへのgit push --forceをprotectしてエンジニアの精神崩壊を防ぐ( ꒪﹃ ꒪)ブクブク - Qiita
    terazzo
    terazzo 2015/09/09
  • Backlog の Git に、 待望のプルリクエスト機能が登場! | Backlogブログ

    仕様や画面は現行バージョンと異なる可能性があります。 Backlogの最新版についてはこちらからご確認ください。 ソースコードレビューやマージ作業をタスク化して管理し、やりとりを記録! コードレビューが大事なことは分かってるけど、自分のPC上で修正されたブランチをgit pullして・・・という手順が面倒。ありますよね。そんなときこそ、プルリクエスト機能。 コメントでのやりとりやコミット一覧、ファイルの差分をタブで簡単に切り替えられるので、簡易的なレビューならばBacklog上で完結します。 また、ファイル差分画面では行単位でコメントやスターをつけられるので、レビュー担当者の意図を開発者に明確に伝えることができます。 ただ良くないコードをコメントで指摘するだけでなく、コードの良い部分にスターを付けることで褒めることができます。それにより、チームメンバーが良い部分を認識できるようになりますし

    Backlog の Git に、 待望のプルリクエスト機能が登場! | Backlogブログ
    terazzo
    terazzo 2015/09/04
  • 受託開発でGitとmavenを使って開発をしている - そこに仁義はあるのか(仮)

    会社で受託開発していて、gitを使った開発フローを考えることになった。 ニアショアに開発をお願いしていて、ニアショアからの受け入れタイミングが何回かあるから、それにあわせてブランチをわけている。 どういうフローで進めているかと、一番最後にやってみて思ったことを書いた。 どういうフローでやっているか リポジトリの構成 下記モジュールを用意した。 parent core entity common web batch tools ニアショアにて開発するモジュールは『common』、『web』、『batch』で、 アーキにて開発するモジュールは『parent』、『core』、『entity』。 ブランチランチはこんな感じで分けている。 ちなみに、ソース管理はgitBucketを使った。 masterブランチ … リリース可能な状態の資源のみを管理する。結合テスト実施時は、ランチから資源を

    受託開発でGitとmavenを使って開発をしている - そこに仁義はあるのか(仮)
    terazzo
    terazzo 2015/07/27
  • gitのuser.nameとuser.emailを会社/個人で自動的に切り替える方法 - Qiita

    想定ユーザー 仕事用のコミットとプライベートなコミットはuser.nameとuser.emailを分けたい 個人のgitリポジトリでuser.nameとuser.emailを設定するの忘れて会社の設定でコミットしてしまった 上に当てはまる人は幸せになれるかも? 設定方法 よく使う方を--globalで設定しておく(今回は仕事用) git config --global user.name "Taro Qiita" git config --global user.email taro@qiita.com

    gitのuser.nameとuser.emailを会社/個人で自動的に切り替える方法 - Qiita
    terazzo
    terazzo 2015/07/22
  • 「Wikipediaをwikiって略すな」に敗北した我々の負けられない戦い「GitHubをGitって略すな」 - YAMDAS現更新履歴

    期間限定公式サイト「村上さんのところ」で、村上春樹が Wikipedia を wiki と略しているっぽい記述を以前見かけた。 僕もすぐにものを忘れてしまいます。最近はwikiがあるのでなにかと助かりますが。 村上さんのところ/村上春樹 期間限定公式サイト これだけ読んで彼に「Wikipediaをwikiって略すな」と噛み付いてはいけないのだが(当にミュージシャンの情報を集積した Wiki サイトを指しているかもしれないし)、これを読んで、もはや村上春樹までそうするなら、「Wikipediaをwikiって略すな」というのはもう諦めなければならないのではないかと思ったりした。 そういえば日清焼そばU.F.O.における保健室の美月先生のプロフィールページにも、「趣味:ネットサーフィン(主にwiki)」とあったな。関係ないけど、このシリーズの山美月はそれほど魅力的に見えない。 しかし、それよ

    「Wikipediaをwikiって略すな」に敗北した我々の負けられない戦い「GitHubをGitって略すな」 - YAMDAS現更新履歴
    terazzo
    terazzo 2015/04/06
  • gitって別にGUIから使ってもいいじゃん - 半空洞男女関係

    この前ふと思ったんだけど、別にgitってCUIから使う必要ないし、普通にGUIで使えば良いと思った。 大学でCUI使い慣れている人居ないから、GUI、例えばGitHub for Macとか、SourceTreeでおすすめしたほうが良いと思うんだけど、GUIをそもそも自分が使わないことには意味が無いからGUIを使おうかなと思った。自分が使ってないものを薦めるってのはおかしくて、ちゃんと使ってから意見を言うべきなんだろうと思う。よって、使わないのに批判するのも、使ってないんだからぐちぐち言うのはおかしい。 しかし、時間は限られているわけで、おかしいと思ったものをいちいち触ってやっぱりおかしかったですと言及するのは時間の無駄だから、あんまり色んな事に言及しないほうが良いんだと思う。それでも言ってしまいたく成るのが人間だし、インターネットはそれを簡単にしてしまうけれど、もっとぐっとこらえないといけ

    gitって別にGUIから使ってもいいじゃん - 半空洞男女関係
    terazzo
    terazzo 2015/03/09
  • 作りながら覚えるGit (1) - みねこあ

    濱野さんの「入門Git」を初めて読んだ時、いきなり 第二章から Git の構造の説明を始めてしまう構成に「Git<の使い方>入門」じゃなくて「Git<の作り方>入門」でしたかーっ(さすがメンテナですね)、、と思ったことを覚えています。 入門Git 作者: 濱野純(Junio C Hamano)出版社/メーカー: 秀和システム発売日: 2009/09/24メディア: 単行購入: 31人 クリック: 736回この商品を含むブログ (155件) を見る それは結構楽しい体験で、それまで全く思っても見なかった「Git作ってみたいな」という うずうずとした衝動がわたしに芽生えるきっかけでした。それ程に Git の設計はシンプルで 手に終えそうで、それでいて「うまくいく仕組み」が備わっている、興味深いものだったのです。まさにハックと呼ぶにふさわしいそれは、VCS全般に抱いていた「しっかり綿密に作りこ

    作りながら覚えるGit (1) - みねこあ
    terazzo
    terazzo 2014/06/09
  • 「Git 2.0」リリース | OSDN Magazine

    Git開発チームは5月28日、オープンソースの分散型バージョン管理システム「Git 2.0」をリリースした。git pushがデフォルトでsimpleになるなど、後方互換性に影響する変更も多数含まれている。 GitLinuxカーネル開発におけるソースコード管理のために開発された分散型バージョン管理システム。2005年にバージョン1.0がリリースされ、現在では多くのソフトウェア開発プロジェクトで利用されている。Linuxのほか、WindowsMac OS Xといったプラットフォームでも利用可能。 Git 2.0では後方互換性が失われている変更点も含まれており、その1つとして「git push」コマンドの挙動変更がある。従来のgit pushにおけるデフォルト動作は「matching」と呼ばれるもので、すべてのローカルブランチが自動的にpush先リポジトリに送信されていた。しかしGit 2

    「Git 2.0」リリース | OSDN Magazine
    terazzo
    terazzo 2014/05/31