2018年3月27日にSupporterZ CoLabで行われたgit勉強会の資料です。
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Excelはオフィスで最もよく使われるソフトウェアの一つでしょう。そして単に表計算としてだけでなくVBAも使ってシステムツールとして使われたりします。そんなExcelだけにバージョン管理したいというニーズがよくあり、そのためのソフトウェアも存在します。 そんな中、xltrailは一風変わっています。シートではなく、VBAの差分表示ができるソフトウェアです。 xltrailの使い方 xltrailをインストールする前の差分表示。git diffでは何も出ません。 git diff book.xlsx diff --git a/book.xlsx b/book.xlsx index 70d50ca..9bcf07e 100644 Binary files a/book.xlsx and
なぜ作ったか ターミナルでの git 操作に tig を愛用してます。素晴らしいツールなんですが、マージが入り組んでくるとコミットグラフの線が途切れてしまったり、結構見るのがしんどくなります。tig と併用する目的で、入り組んだマージ履歴を見やすく表示可能な、テキストベースのコミットグラフ表示ツールを探していました。 そんな時、 Jan Engelhardt 氏が作った git-forest を見つけました。入り組んだマージ履歴も見やすく表示できるコミットグラフはいい感じなんですが、ハッシュ・日付・作成者・ブランチ名などの表示方式がイマイチに感じ、コードをいじっているうちに元とは結構違う見た目になりました。これを周囲の人にも使ってもらったところ「見やすい」と評判が良く、せっかくなので公開することにしました。 サンプル(スクリーンショット) というわけで、さっそくサンプルをご覧ください。まず
先日の健康診断で即メタボ認定を受けて危機感を覚え、酒量と食事量を減らしつつありますが、まだ効果が表れていない下條です。このブログで定期的に体重を公開すればさらに意識が変わるかなと思いましたが、皆さんそんなものは見たくないと思いますので書きません。 さて、私は以前の会社ではソースコードのバージョン管理にSubversion的なものを使っており、弊社に入社してから本格的にGitを使い出しました。そこで最初に参加した受託Webサービス開発のプロジェクトにおいて、Gitを使ったブランチ運用についてちょっと試行錯誤した経緯をご紹介します。 GitHub Flowとの出会い Gitのブランチ運用の方法として有名なものとして、GitHub FlowとA successful Git branching model (O-Show 氏による日本語訳) (以後git-flowと記述)の2つがあります。私が弊
動機 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
Windows Explorerの「アドレスバー」は、ほぼほぼ「ファイル名を指定して実行」と同じ機能、場合によってはアドレスバーの方が機能豊富だよ、というお話。 テスト環境 Azure上に作成したWindows Server 2012で試しています。 Windows 7/8/10, Windows Server 2008R2/2012/2012R2で出来ます。 例1:コマンドプロンプトを開く 「ファイル名を指定して実行する」場合 コマンドプロンプトを開きたい時よく紹介されるのは、「ファイル名を指定して実行」という画面でcmdと打つこと。 と、こうなる。 ここまではよく知られた話かと。でも… エクスプローラだからこそ出来ること エクスプローラである程度階層を辿ったあと、ここをカレントディレクトリにしてコマンドを打ちたいんだけど…ってことはよくある。 そんな時、おもむろにアドレスバーにcmdと
gitのユーザ名は、 git config --global user.name koseki git config --global user.email koseki@example.comのように設定しますが、設定を忘れてコミットしてしまった場合。さっきデフォルトの漢字のフルネームでコミットしてしまい、しかもgithubに出してから気づきました。ちょっと恥ずかしい。 どうせ始めたばっかりだったのでリポジトリを作り直してもよかったんですが、調べたらgit filter-branchで過去を書き換えることができました。 404 Not Found git filter-branch -f --env-filter 'export GIT_AUTHOR_NAME="koseki"' git filter-branch -f --env-filter 'export GIT_AUTHOR_E
普段から git rebase や git commit --amend をよく使っており、それらのコマンドはコミットのタイムスタンプを変更しないものだと思っていたのですが、実はコミットのタイムスタンプを変更していることに気付いて驚いたという話。 Git のコミットがもつ 2 種類のタイムスタンプ 特に何もオプションを付けずに git log すると、以下のように Author と Date が表示されます。 $ git log commit d447eeeb49d04e79b257e7abe6e633541d5e1c52 Author: nobuoka <...@...> Date: Thu Jan 31 20:45:47 2013 +0900 Prepare test tools (mocha and qunit)で、git rebase や git commit --amend で過
いままでなんとなく使ってきたけど、ようやく使い方が分かったような気がするのでメモ。 前提知識 インデックスとワーキングツリーが理解できていること HEAD が何か分かっていること git diff ワーキングツリーとインデックスの差分を表示。 git add した後にさらに修正したけど、そういえばどの時点で git add したのかなー、というときに使う? git add したらすぐにコミットする自分には関係なさそう。 git diff --cached HEAD とインデックスの差分を表示。 git add して、コミットする前に差分を確認したい時に使うんだと思う。 自分は git diff よりもこっちの方をよく使う。 git diff HEAD HEAD とワーキングツリーの差分を表示。 前にコミットした時からどれくらい編集したか確認したい時に使う。 HEAD の部分はコミット(HE
Gitによるバージョン管理では、従来のSVNなどよりずっと簡単にブランチングやマージができます。さまざまなブランチ戦略やワークフローが可能であり、以前のシステムに比べるとほとんど全てが改善されたと言えるでしょう。しかしGitを利用する多くの組織はワークフローの問題に直面します。明確な定義がなく複雑で、Issue Tracking Systemと統合されていないからです。そこで、明確に定義された最良の実践的方法としてのGitLab flowを提案したいと思います。issue trackingには feature driven development と feature branches を組み合わせます。 他のバージョン管理システムからGitに移行する際によく耳にすることは、効果的なワークフローの開発が難しいということです。この記事ではGitワークフローとIssue Tracking Sys
みんな大好きpecoを使って、git add出来るようにした 作ったもの 深いディレクトリにあるファイルが複数ある時、zshのtab補完でやるのも面倒だったので、peco使ってやりたいな〜と思ったからzsh関数書いた コード 複数選択に対応した 上のgifのように複数選択出来る 検索のハイライトと選択中のハイライトの色が被ってるため見難くなってしまっている function peco-select-gitadd() { local SELECTED_FILE_TO_ADD="$(git status --porcelain | \ peco --query "$LBUFFER" | \ awk -F ' ' '{print $NF}')" if [ -n "$SELECTED_FILE_TO_ADD" ]; then BUFFER="git add $(echo "$SELECTED_FI
2012/12/13 追記 zsh 4.3.11 以降の新しい機能を使って改良しました。 -> 「zsh の vcs_info に独自の処理を追加して stash 数とか push していない件数とか何でも表示する - Qiita」 Git を使ってファイルを編集した場合、それをいったんインデックスに追加(add)してその後コミットってのが基本的な流れになる。なんかいろいろやってると、ちゃんと add したのかどうかわかんなくなることがある。 そういうときは status コマンド使えばいいんだけど、以前エントリ書いた zsh の vcs_info の機能を使うといい感じにプロンプトに表示できるようになるので紹介する。 zshrc の書き方 こんな風に zshrc に書いておけば OK。 autoload -Uz add-zsh-hook autoload -Uz colors color
zshの右プロンプトに以下の情報を表示する。 カレントディレクトリがgitリポジトリだった場合 リポジトリルートからの相対パス(25文字以上は前半を省略) リポジトリルートのパス(ホームディレクトリは~に省略。15文字以上は前半を省略) カレントブランチ 状態によって色を変える そうじゃなかった場合は、カレントディレクトリだけ表示 zshに組込まれてるvcs_infoは、上の1と2をやるのにとても便利なのと、gitコマンドなくてもエラーになったりしないという利点があるので利用する。 autoload -Uz vcs_info zstyle ':vcs_info:*' enable git # 下のformatsの値をそれぞれの変数に入れてくれる機能の、変数の数の最大。 # デフォルトだと2くらいなので、指定しておかないと、下のformatsがほぼ動かない。 zstyle ':vcs_inf
ブランチを手軽に切れるのが魅力なGitちゃん。 ただ、Webアプリケーションとして、気軽に切った先進的で先鋭的で危ない感じのその新ブランチを他の人に動作を確認してもらうのは、ちょっと面倒。 開発者ならpullってdiffって見ろよって感じなんだけど、営業さんだったりディレクターさんだったりだとブラウザで確認できなくちゃね。というわけで、開発サーバにバーチャルホスト切って、サブドメインとかで設定するわけなんだけど、それが手間。 ブランチは気軽に切れるのに、環境は気軽に作れない。 post-receive を使おう Gitにはpost-receiveという強力な仕組みがあるので、これを使います。 $git push origin new-branch って新ブランチをリモートリポジトリにpushしたら、http://new-branch.example.com/ ってサブドメインで閲覧できるよ
git diffした時に、横に長い行の表示がコンソールの右につきぬけてしまって、右のほうが見えなくなってしまうんだけど、どうすればコンソールの右で折り返して表示してくれるのか誰か教えてくれませんか。MacのTerminalです。 http://twitter.com/shin1ogawa/status/13489861413 というのがあって、 git diff --color | less -Rとかで出来るっぽいという話になったんだけど、そんなのやらなくても設定でどうにかできるはずだよね、という話をhokaccha氏にしてみたら、すぐに調べて教えてくれた。ありがとうございます! $HOME/.gitconfig に、 [color] ui = auto [core] pager = less -rと書いておけばいいだけらしい。 git diffとかで表示が切れてしまうときの対象方法 -
再度ログインすれば、最新版のgitが使えるはずです。 なおこの手順で入れた場合は、 /usr/bin/git がパッケージ版git(1.7.1)で、 /usr/local/bin/git が最新版のgit(1.8)になります。 $ which git /usr/local/bin/git $ /usr/local/bin/git --version git version 1.8.4.rc1.4.gd6cbf2f $ /usr/bin/git --version git version 1.7.1 gitの最新版に追従していきたいときは この状態から日々gitの最新版に追従していきたいときは、git pullしてから再度makeしてmake installすればOKです。 $ cd ~/git/ $ git pull $ make all doc $ sudo make install i
A free Git client for Windows and Mac Sourcetree simplifies how you interact with your Git repositories so you can focus on coding. Visualize and manage your repositories through Sourcetree's simple Git GUI. Simple for beginners Say goodbye to the command line - simplify distributed version control with a Git client and quickly bring everyone up to speed. Powerful for experts Perfect for making ad
The entire Pro Git book, written by Scott Chacon and Ben Straub and published by Apress, is available here. All content is licensed under the Creative Commons Attribution Non Commercial Share Alike 3.0 license. Print versions of the book are available on Amazon.com. The version found here has been updated with corrections and additions from hundreds of contributors. If you see an error or have a s
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く