タグ

gitに関するteracy_junkのブックマーク (262)

  • Gitで管理しているExcelファイルの差分を見る - Qiita

    動機 ExcelファイルをGitで管理しているときに、差分を見られると嬉しい。Git for Windows (msysgit)は、WordファイルやPDFファイルは差分を見られるように設定済で配布されているが、Excelファイルについては未対応。 できたこと git diffでExcelファイルに加えた変更を確認してからgit commitできる もちろん過去の履歴の差分も見られる 行頭にシート名が含まれていて複数シートにも対応している CUIでのExcelファイルの差分表示例 GUI (Git Extensions)でのExcelファイルの差分表示例 超便利!!! 使ったもの Git for Windows (msysgit) version 1.8.4.msysgit.0 Go 1.4.2 git-xlsx-textconv ab71fc84ecd7ae97b19305ba05159

    Gitで管理しているExcelファイルの差分を見る - Qiita
  • Git 爆弾 - Frasco

    もしあなたが冒険好きな人なら(そして起こるかもしれない再起動に対処できる人なら)、この小さなリポジトリをクローンしてください: $ git clone https://github.com/Katee/git-bomb.git クローンできましたか?あなたのマシンが相当なメモリ(RAM とストレージ合わせて)を積んでいない限り、git が殺されたか、メモリ不足になったか、再起動しなければならなかったと思います。なぜでしょう?これは、たった12個のオブジェクトで構成されたリポジトリです。 どのようにして、この小さなリポジトリがメモリ不足を起こすのでしょうか?その秘密は、git が行う blobs(ファイルを保存しておくもの)の de-duplication(重複排除)です。これは、リポジトリを小さく、そしてコミット間でファイルが変更されていない場合に同じ blob を使うようにするためのもの

    Git 爆弾 - Frasco
  • 小規模開発のgit-flowの導入を楽にするブランチルールと拡張スクリプト配布 - Qiita

    git-flowのフル利用は受託案件にはオーバースペック 個人的な感想として、開発で多いのは"成果物や期間の定まった小規模受託案件 > 継続的に運用を必要とする大規模案件"だと思ってます。あくまで個人的な感想です。 git-flowはプロダクトを継続的に開発・運用することを前提にした運用です。なので、「リリース後~次のリリースまでに問題が起きたらhotfixする」のようなワークフローが作られています。 逆に受託開発(特にアプリ開発)は「n月末までに納品物を作る。あとは知らん(契約によるからね!念のため!!)」という流れです。git-flowのワークフローは大仰すぎて、あんまり受託開発向けじゃありません。 じゃあ、なんでgit-flowを使うのか 有名だからというのが一番の理由です。完全な社内ルールとかオレオレルールを適用してしまうと、協力会社だけじゃなく、中途採用の人にも学習コストがのしか

    小規模開発のgit-flowの導入を楽にするブランチルールと拡張スクリプト配布 - Qiita
    teracy_junk
    teracy_junk 2017/10/26
    『/masterを末尾に追加することで、チケットに対するブランチを容易に作成できます』命名ルールの最後の、そういう意図か納得した
  • マネージャーと開発者が安心してアプリ開発を続けるための開発ルール - Qiita

    @eaglesakura です。 皆さん、進捗どうですか? お仕事の規模が大きくなれば、参加人数が増えていくでしょう。 参加人数が増えれば、様々な宗教観の人がプロジェクトに参加するでしょう。 お一人様プロジェクトを中心にやっていた人もいれば、大規模案件のソルジャーとしてキャリアを積み上げてきた人もいます。彼らのスキルレベルもまちまちです。 私が参加している(そしてプログラマーに対して強い権限のある立場である)プロジェクトでは、次のようなルールをベースに適用しています。 これはなるべくプログラマーの負担をかけずに管理側(プロジェクトマネージャー=PM)が開発管理を行える(進捗がブラックボックス化しない)ことを目的とした開発ルールです。 前提ルール ソースコード管理はgit/githubを利用する 1コミット(1ブランチ)に対して、複数Issueを処理しない githubはリポジトリ管理(作成

    マネージャーと開発者が安心してアプリ開発を続けるための開発ルール - Qiita
    teracy_junk
    teracy_junk 2017/10/26
    『issue粒度の最大値を「1日に2issue以上closeできる程度」としておきます』粒度大事
  • 「新機能作成時に開発ブランチに細かく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
  • Git、GitHubを教える時に使いたい資料まとめ - Qiita

    0. はじめに 業務で技術指導を行うにあたり、GitGitHubについて説明する機会が多くなってきました。そこで、そんな時に使えそうな資料を整理してみました。 今後も新しい資料を見つけたら、随時更新していきたいと思います。またおすすめがあれば、是非ご紹介ください。 0.1. 読者対象 記事の対象は、以下の様な方々です。 GitGitHubの使い方について、他のメンバーに説明、指導する必要がある。 GitGitHubの使い方について自習したい。 記事にて紹介する資料は、以下の様な方々を想定して選別しています。 コンソールの操作にはある程度慣れている。 Subversionなど、他のバージョン管理システムの使用経験がない。 1. インタラクティブなチュートリアル Webブラウザ上で動作するインタラクティブ(対話的)な教材です。gitコマンドなどの環境構築は不要で、環境を破壊してしまう

    Git、GitHubを教える時に使いたい資料まとめ - Qiita
  • 既に git 管理しているファイルをあえて無視したい - Qiita

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

    既に git 管理しているファイルをあえて無視したい - Qiita
  • AWSアクセスキーをGitリポジトリに混入させないために git-secrets を導入した | DevelopersIO

    先日開催されたAWS Summit Tokyo 2017、わたしもいくつかセッションを聴講してきたのですが、「DevSecOps on AWS - Policy in Code」というセッション1にてgit-secretsというツールが紹介されていました。 awslabs/git-secrets: Prevents you from committing secrets and credentials into git repositories これ以外にも、いくつかのセッションで言及されていたと思います。 git-secretsのことは以前から聞いてはいたのですが、自分自身があまりコードを書く環境にいなかったので、良くないとは思いつつも今まであまり気にしていませんでした。 ただ、AWSアクセスキーの漏洩が原因と思われる話を聞く機会はなかなか減りませんし、考えてみれば自分でも、AWSクレデ

    AWSアクセスキーをGitリポジトリに混入させないために git-secrets を導入した | DevelopersIO
  • TechCrunch | Startup and Technology News

    Who would have thought that Raspberry Pi, the maker of cheap, single-board computers, would become a public company? And yet, this is exactly what’s happening this week as Raspberry Pi…

    TechCrunch | Startup and Technology News
  • gitで自分のコミットしたコードの行数を数える - Qiita

    目的 会社での業績評価や対外的なアピールのために、自分の書いたコード行数を説明しないといけないときがあります。 そのときにgitを使用している環境での自動計算コマンドを紹介します。 方法 .gitのあるフォルダに移動する gitのコミット位置は最新のものにしておく 以下のコマンドを実行する git log --numstat --pretty="%H" --author='あなたの名前' --since=YYYY-MM-DD --until=YYYY-MM-DD --no-merges | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("%d (+%d, -%d)\n", plus+minus, plus, minus)}'

    gitで自分のコミットしたコードの行数を数える - Qiita
  • 個人開発環境にGithub Flowを適用する - chroju.dev

    Githubjoinしたのは2013年で作ったものは軒並みちゃんと突っ込んではいるんだけど、単に一区切りついたらadd => commit => pushしているだけでちゃんと使っていなかったので、個人開発ではあるがGithub Flowを取り入れてみた。 What is Github flow ? Githubを用いた開発作業を進めるにあたっての指針みたいなものです。基的にはmasterブランチ上では作業せず、作業工程ごとにブランチ作って、終わったらプルリクしてmasterにマージしてもらうことでデプロイとしましょうね、というものだと理解している。至ってシンプルではあるけど、これを取り入れるだけで従来やっちゃってた「masterで作業してるのでデプロイしても動かないレポジトリがGithub上にある」みたいな状態が防げて良さそうだと思った。 ちなみにGit-flowというのもあるようだ

    個人開発環境にGithub Flowを適用する - chroju.dev
  • Gitのステージング領域の正体を探る | メルカリエンジニアリング

    ソフトウェアエンジニアの @DQNEO です。こんにちは。 Gitの内部構造を深掘りするシリーズ3回目です。 前回までのお話はこちら Gitのつくりかた – Mercari Engineering Blog Gitのコミットハッシュ値は何を元にどうやって生成されているのか – Mercari Engineering Blog 今日はみんなだいすき「ステージング領域」の中身について解説してみます。 ステージング領域とは何か? 簡単に説明すると「次にコミットしたときにコンテンツとして登録されるもの」リストです。(別名「インデックス」ともいいます。) このリストは、 git addやgit rmしたときに書き換わります。 (古くはcacheと呼ばれていました。内部実装やgit diff --cachedに今もその名残があります。) git addのマニュアルに説明があります。 Git – git

    Gitのステージング領域の正体を探る | メルカリエンジニアリング
    teracy_junk
    teracy_junk 2017/04/12
    『Gitの中身を深掘りすると、C言語やバイナリ解析のよい練習になると思います。 みなさんも興味があったらぜひやってみてください!』
  • [社内新人向け]Gitで使ってほしくないコマンド - Qiita

    社内に新人が増えてきたので、弊社のWeb開発でのGitのゆるーい利用方針をまとめます。 当はネガティブなことばかり書かずに、「覚えて欲しいコマンド、使ってほしくないコマンド」というタイトルにしたかったのですが、予想以上に長くなりそうなので分けます。 (追記:第二弾できました) → [社内新人向け]Gitで絶対にオススメなプラグインや設定3つ 社内環境 Web系開発がほぼ100% ブランチワークはGitflowをベースにしたプルリク駆動開発 少人数チームなので、エンジニアは全員LinuxのCUI操作をできて欲しい(vagrantや開発サーバ上の操作など) GitGUIクライアントは、SourceTreeとGithub公式を試しましたが、初学者が使うと却って危ない挙動をしてしまうケースがあったので、全員CUI操作をしてもらうことにしました CIツールはまだ導入できず。各サーバーへのデプロイ

    [社内新人向け]Gitで使ってほしくないコマンド - Qiita
  • SVN脳患者から見たGit - Qiita

    はじめに 僕はSVN脳患者である。SVN脳とは、SubversionのポリシーでGitを理解しようとしたり、使おうとしたりする病気で、中年プログラマに発症例が多い(気がする)。それまでSubversionを使ったことがない人がGitを使う場合には問題にならなかったことが、SVN脳患者がGitを使おうとすると問題になることが多い。特に、SVN脳を発症したプログラマは、そうでない人に比べてGit学習コストが爆発的に増大する。最初からGitに触れた人は、なぜSVN脳患者がGitを理解できないのかを理解できないだろう。 これは、SVN脳患者である僕1が、なぜGitを長いこと理解できなかったかをつらつら書くポエムである。病人の書いたポエムであるからして、所謂マサカリの類はほどほどにしていただきたい。 以下、「SVN脳患者」という大きな主語を多用するが、要するにこれは僕のことであり、言うまでもなくSu

    SVN脳患者から見たGit - Qiita
  • SIerが実践する分散開発とバージョンコントロール - Qiita

    オフショアA、Bとしましたが、同じ会社の別部署など、 とにかく別ロケーションで開発する場合を想定しています。 ソースの構成 おそらく、以下のように1つのJavaプロジェクト内にすべて書くのではないでしょうか? デメリット バッチを書いている人が、オレオレライブラリやWEBのソースを改変する可能性がある。(オレオレライブラリ、WEBも然り) プロジェクトが太って行った時に、コンパイルなどに時間がものすごくかかる。(5000以上のJavaファイルが配置されているものを見たことがある) それぞれのソースでプロジェクトを分けているものも書こうかと思いましたが、 その場合は、システムでスタックをちゃんと組んでるかな、と思ったので省略。 リポジトリのモデル 従来型の場合は、以下のパターンのどちらかではないでしょうか? リポジトリは分けている 最終的に社内のSVNリポジトリにオフショアA、Bのソースをマ

    SIerが実践する分散開発とバージョンコントロール - Qiita
  • 複数の作業ディレクトリを作成する git worktree - Qiita

    git では通常、リポジトリと作業ディレクトリとが一組になっています。git clone をすると、作業ディレクトリの中に .git ディレクトリ(=リポジトリ)が作成されます。 そして、この作業ディレクトリの中でブランチを切り替えて作業するのが一般的かと思います。 さて、作業ディレクトリの中で何かの作業中に、別の割り込み作業が発生して、一時的にブランチを切り替えたくなったとしましょう。そんなときは、いったん現在のブランチに作業中の変更をコミットしておいてからブランチを切り替えたり、作業中の変更を git stash を使って保存してからブランチを切り替えたり、という操作をすることになります。 そういった操作が簡単に素早くできるのが git の特徴ではあります。しかしそれでも、そういった切り替えが多くなってくると、作業中の変更を失ってしまったり、現在のブランチを勘違いして作業してしまったり

    複数の作業ディレクトリを作成する git worktree - Qiita
  • .gitignore の書き方 - Qiita

    .gitignore とは? Git の管理に含めないファイルを指定するためのファイル。 設定方法 無視設定を行いたいフォルダに .gitignore という名前でテキストファイルを作成する。 Windows 標準のメモ帳など一部のエディタでは、拡張子のみのファイルは生成できないので、どちらかの手順で作成する 拡張子のみのファイルを作れるエディタを利用する 既にあるファイルをコピーしてくる MAC は標準の設定では、拡張子のみのファイルは Finder 上に表示されません。 無視したいファイルを下のパターンをもとに .gitignore 内で指定する。 設定の有効範囲は .gitignore ファイルの有るフォルダ内全部。 リポジトリのルートにある必要はなく、リポジトリ内に複数あってもよい。 パターン コメント

    .gitignore の書き方 - Qiita
  • 会社のマシンで、社用とプライベートのgitアカウントを使い分けたい - Qiita

    やりたいこと プライベートで使ってるgitのリモートリポジトリ(github)に、自分のアカウントでコミット・プッシュしたい (会社の名前を一切出さないようにする) やること(会社のマシンで設定) プライベート用のssh鍵を作成し、リモートリポジトリに登録 ~/.ssh/config にhost設定を追記 上記設定後、必要なリポジトリで個別に設定を行う 1. プライベート用のssh鍵を作成し、リモートリポジトリに登録 プライベート専用のssh鍵を作成 // sshディレクトリに移動 $cd ~/.ssh // ssh鍵生成 $ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/Users/(username)/.ssh/id_rsa):

    会社のマシンで、社用とプライベートのgitアカウントを使い分けたい - Qiita
  • 老舗メディアが改善に取り組んでいる話 / ecnavi @phpcon2016

    VOYAGE GROUP ECナビからPHPカンファレンス2016で発表した内容です。

    老舗メディアが改善に取り組んでいる話 / ecnavi @phpcon2016
  • Gitをインストールしたら真っ先にやっておくべき初期設定 - Qiita

    概要 Git 初期設定の鉄板です。 何回やっても忘れるのでメモ。 気がついたら追記していきます。 2018-06-06 もう Git 2.17 ですよ。この記事は 2013 年代ぐらいに書かれた記事です。 ユーザー情報を設定する 最近の Git はこれを設定しないとエラーを吐くようになりました。いい機会です、是非設定しましょう。 git config --global user.name "First-name Family-name" git config --global user.email "username@example.com"

    Gitをインストールしたら真っ先にやっておくべき初期設定 - Qiita
    teracy_junk
    teracy_junk 2016/11/04
    nano→viの件、大体いつも忘れる