maeshimaの日記

メモ書きです

git

閲覧専用のgitクライアントはtigで十分

git

Rails の git log を RSS か何かで継続的に読みたいと思ってgitクライアントぐぐったけど、別に tig で必要十分っぽい。調べたらdiffから変更ファイル全体も見に行けるし。

git describe --contains

git

git describe --contains 渡されたコミットを含むタグを使ってコミットに名前を付けるコマンド describe --contains を何のために使うのか、も知っておくと良いですね。「あの機能が入ったこのコミットは、どのリリースに入っているのかな」つまり「どのリリ…

git pullしたときにできるmergeコミット

git

merge(pull)したときに、fast-forwardマージじゃない場合、「mergeしたコミット」が作られる。 このpullしたときにmergeしたコミットが作られるのってどうにかできないのかな。入門Gitメモ chapter 5 - maeshimaの日記

git commit --amend で前のコミットメッセージをそのまま使う

git

git commit -C HEAD --amend

入門Gitメモ chapter 5

git

push, pull, merge 本来git pushには「どのリポジトリに」「どのブランチを」転送するかを指示しないとならないが、git clone で作ったリポジトリでは、デフォルトで、cloneしてきた元のリポジトリに対して、双方のリポジトリで共有しているブランチを全て転…

git rebase

git

git rebase についてこんがらがったのでメモ git rebase -i HEAD~3 とかだと、過去のコミットを修正する。この場合はHEAD~3より後(HEAD~3は含まない)のコミットを修正できる。 git rebase a b だと、b に a をマージしたみたいな感じになる。mergeと違うのは…

git resetのオプション

git

オプションが三つあってこんがらがったので。 --soft コミットだけresetする --mixed コミットとインデックスをresetする。デフォルト。 --hard コミットとインデックスとワーキングツリーをresetする

egg.elでgit blame

egg.elにも少しずつなれてきた。C-c v a でgit blameしたような感じで、今開いているファイルのコミットした人とコミット情報が表示される。

入門Gitメモ chapter4

git

入門Gitposted with amazlet at 10.11.28濱野 純(Junio C Hamano) 秀和システム 売り上げランキング: 15555Amazon.co.jp で詳細を見る git var gitで設定している変数を参照できるみたい。あんまり使いどころないかも git var GIT_COMMITTER_IDENT #=> willn…

入門Gitメモ chapter1-2

git

版管理の目的と機能 以前の状態に戻れる 変更履歴を調べる ディレクトリ構造全体を1つの単位として記録する 「なぜ」と「誰が」を記録する 何を版管理するか gitではファイル毎のメタデータとしては実行可能ビットだけを記録するようにしている gitの基本概…

egg.el

閲覧系は死ぬほど便利なのでこれから使う。更新系はよく分からん。tigとどっちがいいかは両方使ってかんがえたいところ。 キーバインド C-x v = カレントバッファのdiff C-x v l git log C-x v s git status

gitプロトコルのポート番号

git

gitプロトコルのポート番号は9418

git blame

git

記憶に残ってなかったのでコマンド名だけメモ。

fast-forwardマージって何?

git

git-svnでリモートブランチを merge するときに、普通に master ブランチ上で git merge hoge としてしまうと、master ブランチが hoge ブランチのリモートブランチを向いてしまう。git-svnでリモートブランチをmergeするときは–no-ffをつけるべし - Webtech…

git svn clone

git-svnを使ってcloneするとき、下記のような感じでやるとブランチやタグが一つに取り込まれる。 git svn clone --prefix svn/ http://example.com/repos/hoge hoge -T trunk -b branches -t tags # 上のと同じ git svn clone --prefix svn/ -s http://examp…

binary file が conflictしたとき

git

下記のコマンドで、今居るブランチとmerge元のブランチのどちらが正しいかを決める→コミットする git checkout --ours -- <dir>|<file> git checkout --theirs -- <dir>|<file></file></dir></file></dir>

ファイルを削除したくないが、版管理の対象からは除きたい

git

git rm --cached -f hoge.txt などとする

.gitignore

git

ファイル 下記の優先度で無視ファイルが設定される。 .gitignore .git/info/exclude core.excludesfileで指定されたファイル .gitignoreが複数ある場合は、対象となるファイルに近い.gitignoreの方が優先。 プロジェクトメンバー全員で共有したい場合は.giti…

git reset

git

git rm --cachedとgit resetって同じだよねたぶんgit rm --cached - maeshimaの日記 追記 全然違った。 git rm --cached はファイルをリポジトリの管理下から削除 git reset は staging されてる変更を取り下げる

git rm --cached

git

開発用の環境と、本番用の環境で一部ソースコードを変更してる時、変更しているファイルはgit addに含めないように気をつけている。でもaddするファイルが多いときは面倒。git add -Aで全部含めたあとにgit rm --cachedで変更しているファイルをインデックス…