GitUp Work quickly, safely, and without headaches. The Git interface you've been missing all your life has finally arrived.
Steins;GitはSteins;Gateを用いてGitを解説する薄い本です。 Steins;GitはSteins;Gateの二次創作物です。そのため貢献をする前に次に挙げるページを読み、これらに遵守した形で貢献をしていただけるようお願いします。 著作物転載ガイドライン|ニトロプラスNitroplus 二次創作活動における同人誌等の活動に関する取り扱いについて|ニトロプラスNitroplus Steins;Gitの執筆方針について Steins;Gitは「Gitの使い方を、Steins;Gateの世界観を使って説明する」書籍です。「Steins;Gateのストーリーの流れに沿って、Gitの説明をする」書籍ではありません。 簡潔に書くと「シュタゲ本」というよりは「技術書」よりです。とはいえ、なるべくSteins;Gateを絡めていきたいですし、全体の雰囲気もSteins;Gateっぽくした
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秒に短縮されるとしてい
何か? git commitのオプション--allow-emptyご存知でしょうか? これは、オプションの名前の通り空のコミットの作成を許可するオプションです。 通常変更がないとコミットが作れないようになってるので 空コミットを作るにはこのオプションを指定する必要があります。 add(もしくはrm)もしない(stageに何も載せない)で commitしたときの注意文には登場するので知ってましたが使ってませんでした。 最近、開発フローの中で使い道を思いついて使うようになったので紹介です。 その1 空Pull Request作れる プルリクって、基準になるブランチから変更されたコミットがないと作れないと思ってます。 でも、変更はないんだけどプルリクのcommentに変更の「概要」「目的」「ビジネスインパクト」「どの数値が改善するのか」など色々さきに書いておきたいこととかありますね。 考えてる内
はじめに git commitを取り消すメモ。 ほとんど手順メモ程度な感じ+他記事で使うスニペット記事。 とはいえ、数あるgit便利コマンドの中で毎回使うものではないけど いざって時に役立つ、もしくは、困るのは取り消し系のコマンドですよね。 補足 他の取り消しもぱっと見たい自分用にまとめたので参考までに。 【git】add、commit、push、merge、pull request、merge pull requestの取り消し アジェンダ git resetでgit commitを取り消す git revertでgit commitを取り消す git commitでgit commitを取り消す それぞれやってみる git reset、git revert、git commitのそれぞれのコマンド例と やってみた操作ログ的なものは一緒にすると長くなりそうだったので、 やってみた系は最後
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こ
前置き 皆さんも業務上やむを得ずWord, ExcelやPowerpointでドキュメントを作っていることと思います。他にもなんかよく分からない画像だったりとか、Astahとかそういうやつとか。とにかく望むと望むまいと僕たちはプロプライエタリなバイナリに囲まれて生きています。 まあその手のドキュメントは作ったり読んだりしてる限り別にいいんですが、だいたい世代管理が困難に近いです。MicrosoftのSharepointとかいう地上最低の操作性を誇るWebアプリを使う 1など、まあ手が無いこともないのですが、いろいろと厄介です。で、そういうファッキンバイナリィドキュメンツが数十GB単位で貯まってきた頃に事故があって、誰かが共有フォルダのファイルを消したりぶち壊したりしてしまったりなんだりして、上司が「ちょっとこれいい感じに管理する方法考えといて」とか無茶なことを言ってくるわけです。 後半に私
近藤です。こんにちは。Gitは様々な利用の仕方ができますが、その基盤となるモデルは8個だけの簡単なモデルです。これらのモデルを理解していない状態でGitを利用すると、あたかもリポジトリが壊れたように見えてしまいます。Gitは難しいと言われますが、そういう感想を持つ人はGitのモデルを理解していない事が多いようです。 今回はGitを構成する中心モデルと、基本的なコマンドを実行した時のオブジェクト関係を解説します。 基本概念 Gitの基本概念は大きく2つにわかれます。 GitObject Reference GitObjectはGitで管理するオブジェクトです。CommitなどがGitObjectです。Gitリポジトリである.gitを開くとobjects配下にあるファイルがGitObjectです。GitObjectはそのコンテンツをハッシュ化した文字列を元に、先頭2文字で配置フォルダ、残りの文
修正する予定がなかったので httpsを経由して匿名のままリポジトリを githubから cloneしたんだけど、つい大事な修正をコミットしてしまい pushしなければならなくなったので originを ssh経由に変更したい、そんなとき。 現在の originがどうなっているか確認する git remote -v と入力する。 $ git remote -v origin https://github.com/walbrix/oscar.git (fetch) origin https://github.com/walbrix/oscar.git (push) originへのアクセスがHTTPS経由になっている。この状態でもユーザー名・パスワードを設定すれば pushできるが、スマートでない。 originのURLを変更する git remote set-urlコマンドで origin
CLIで操作する際に、Gitコマンドをタブキーで補完できるようにする方法をメモしておきます。 Gitをインストールしただけでは、タブキーでコマンドを補完することはできませんが、実は設定ファイルはインストールの際に準備されており、それを使うことで簡単に有効化することができます。その設定ファイルというのが git-completion.bashです。環境によってパスは違いますが、例えば以下のような感じです。(Bash以外については調べきれていません) CentOSにGitをyumでインストールした場合 /usr/share/doc/git-1.7.1/contrib/completion/git-completion.bashMacにGitのサイトからdmgをダウンロードしインストールした場合 /usr/local/git/contrib/completion/git-completion.b
bash-completion zsh ユーザーに dis られる前に completion できるようにしよう。 $ brew install bash-completion ~/.bash_profile に以下を追加。 if [ -f `brew --prefix`/etc/bash_completion ]; then . `brew --prefix`/etc/bash_completion fi 導入が成功していれば、ssh と入力して TAB を押すと IP のリストが表示される。 git-completion.bash これを導入すれば git のコマンドを補完してくれるようになる。上記リンクから git-completion.bash をダウンロード。これを適当な場所に置いて、.bashrc に以下のように記述する。 source /path/to/git-complet
はじめに 「Git補完をしらない」「commitブランチを間違える」「git statusを1日100回は使う」そんなあなたに朗報です。 bashの説明だけに絞っています。zsh? tcsh? 知らない子ですね。 いきなり完成形 # スクリプト読み込み source $HOME/.git-completion.bash source $HOME/.git-prompt.sh # プロンプトに各種情報を表示 GIT_PS1_SHOWDIRTYSTATE=1 GIT_PS1_SHOWUPSTREAM=1 GIT_PS1_SHOWUNTRACKEDFILES= GIT_PS1_SHOWSTASHSTATE=1 ############### ターミナルのコマンド受付状態の表示変更 # \u ユーザ名 # \h ホスト名 # \W カレントディレクトリ # \w カレントディレクトリのパス # \
はじめに linuxとかでコマンドを入力する際に常に左にでるアレ。カスタマイズできる。表示する情報や、色が変更できるので自分好みにカスタマイズすればすごく便利。 Ubuntu 14.04 シェルについて ユーザーがカーネルとコミュニケーションを図る時、その仲介役として存在するのがシェルだ。シェルは様々な種類があるが、ほとんどのlinuxディストリビューションの標準シェルはbashで、Macも同様である。 bashはPS1という環境変数がある。これはThe primary prompt stringの略のようだ(bashマニュアルより)。このPS1を変えれば左に出るアレ、つまりプロンプトを自由にカスタマイズできる。 そもそもディストリビューションごとにばっちりカスタマイズされており、例えばRaspberry PiとUbuntuではプロンプトの表示が異なっていたりする。 bashrcの編集 自
1)まず「git-completion.bash」と「git-prompt.sh」ダウンロードします。 $ wget https://raw.github.com/git/git/master/contrib/completion/git-completion.bash $ wget https://raw.github.com/git/git/master/contrib/completion/git-prompt.sh 2).bashrc に下記を追記します。 PS1="\[\033[1;32m\]\$(date +%Y/%m/%d_%H:%M:%S)\[\033[0m\] \[\033[33m\]\H:\w\n\[\033[0m\][\u@ \W]\[\033[36m\]\$(__git_ps1)\[\033[00m\]\$ " # # git-completion.bash / g
2014年は研究の再現性ということが非常に話題になった年だったと思います。ソフトウェア開発の世界の技術であるバージョン管理システムが、データ分析のコードの管理と再現性の確保にも非常に便利だと思ったので簡単なまとめです。分析のコードは書くけどバージョン管理になじみがない研究者やwannabe(私とか)を対象にしています。 "ほんとは簡単?SourceTreeでGitを始めよう!" (http://naichilab.blogspot.jp/2014/01/gitsourcetreegit.html ) "サルでもわかるGit入門" (http://www.backlog.jp/git-guide/intro/intro1_1.html ) というわかりやすい記事を参照しながら、データ分析の文脈で解説します。 とりあえずファイル名でバージョン管理 データハンドリングや解析のコードを変更するにあ
あらまし 大きな作業をする場合、こまめにローカルレポジトリのブランチにコミットして、何かあったときにすぐに戻せるようにしたくなります。 また、パフォーマンス改善など、実験や研究の色合いの強い作業は、試行錯誤しながらブランチに"とりあえず"保存しつつ、「あっちのほうが良かったかな〜」と思ったときに取り出せるようにしておきたくなるものです。 また、ローカルレポジトリだけでなく、リモートレポジトリに置いたほうがチームみんなで共有できたりしていろいろ便利です。 ですが、最終成果物はなるべく少ないコミットにしないと、マージが大変です。 メインブランチにこんなコミットが入るとゲンナリしますよね? $ git log --oneline bcdef12 Revert foo abcdef0 Add foo cdef123 Refactor bar again def1234 Refactor bar e
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く