間違いだらけの備忘録

このページの内容は無保証でありこのページの内容によって直接、または間接に損害を受けられたとしても私は責任を取りません。

git

git-fixup

git

http://d.hatena.ne.jp/tyru/20110107/git_fixup [alias] fixup = commit --amend -C HEADコミット日時も更新 git commit --amend -a -C HEAD --date=`date +%s`めも

git-now

git

http://d.hatena.ne.jp/mobcov/20110904/1315130438 https://github.com/iwata/git-now めも以下古い記述 https://mistilteinn.readthedocs.org/en/latest/git-tools.html https://gist.github.com/1324421/1182168da07a46a51bde95b6d52cff22ace317ad http:/…

format-patch 単体指定

git

$ format-patch -p (対象hash)~..(対象hash) p:diff statなし、hg用など めも

Cygwin上のgit statusで文字化け

git

http://nashellog.blogspot.jp/2012/06/cygwingit-status.html git config --global core.quotepath false上記で対応

diff-highlight python版

git

http://tk0miya.hatenablog.com/entry/2013/12/22/155358 差分の中で +/- の行数が一致していないときのハイライトの扱い /- の行数が一致しても、文字単位でのハイライトをしてくれないケースがある 一行で 2箇所書き換えた場合は、ハイライト幅がとても大…

git-media

git

http://endorno.github.io/blog/2013/10/06/how-to-use-git-media/ scpだけでなくS3や、 実験的にlocalディレクトリを使いたいとかであれば各レポジトリの.git/configに同じように書く。 めも、未検証

git-annex

git

http://git-annex.branchable.com/ git-annex allows managing files with git, without checking the file contents into git. While that may seem paradoxical, it is useful when dealing with files larger than git can currently easily handle, whet…

commitのタイムスタンプ変更

git

直前のcommitのタイムスタンプ(Committer date,author date)を現時点に修正 $ git rebase HEAD~1 --ignore-datecommitter date を author date と同じ値にする $ git rebase HEAD~1 --committer-date-is-author-date確認 $ git log --pretty=fullerめも 参考…

rebase --onto

git

http://d.hatena.ne.jp/unpush/20100514/1273817056 大雑把に言うと、git rebase は「git reset + git cherry-pick × n回 を自動化したもの」と考えられる ふむ http://d.hatena.ne.jp/a_bicky/20130210/1360504520 git rebase --onto は、--onto に指定した…

remote rejected

git

forceでも駄目だったので、ブランチを削除して再push http://tmtms.hatenablog.com/entry/20101221/git $ git push --force origin master (中略) remote: error: denying non-fast-forward refs/heads/master (you should pull first) ! [remote rejected] …

Pull is not possible because you have unmerged files.

git

force updateされたブランチのpullで上記エラー $ git tag old-tag $ git reset --hard HEAD~10 $ git pull $ git diff old-tag HEAD 上記で対処、HEAD~10は適当

git pushがrejectされたときの対応方法

git

自分用のリポジトリなどで置き換える際の一例 $ git fetch $ git merge --strategy ours (push先の最新コミット)参考 http://www.softel.co.jp/blogs/tech/archives/3569

ベース変更時のブランチの内容での置き換え

git

$ git merge -s recursive -X theirs branchname めもファイルが消されていて下記のメッセージが出るケースがあった。 CONFLICT (modify/delete): deleted in and modified in HEAD. Version HEAD of left in tree.該当のファイルをgit rm後、上記mergeで解…

Mercurial における『ブランチ』の概念

http://d.hatena.ne.jp/flying-foozy/20120801/1343816083 『ヘッド』が増えたせいで履歴反映できないケースは "--force" 指定すれば良いというマインドセットができてしまい、状況に関わらず "--force" を使用してしまう危険性が出てくる。 素敵〜

Error: repository has at least one unnamed head

上記で作ったリポジトリが上記エラーでgit hg fetchできなくなっていた。元の大規模変更による影響? 結局元ディレクトリを消して $ git hg clone下記を実施 $ rm -rf .git/hgremote $ .git/hgcheckout/ $ cp -rp ../repo2/.git/hgremote .git/ $ cp -rp ../…

mercurial変換

git-hg http://d.hatena.ne.jp/tyru/20100429/git_hg_and_hg_fast_export http://offbytwo.com/git-hg/ #$ git clone git://github.com/offbytwo/git-hg $ git clone https://github.com/cosmin/git-hg.git $ ln -s `pwd`/git-hg/bin/git-hg /usr/local/bin/…

filter-branch後に残ったバックアップのブランチを消す

git

refs/original/HEADの場合 $ git update-ref -d refs/original/HEADめも、詳細未確認 参考 http://stackoverflow.com/questions/7654822/remove-refs-original-heads-master-from-git-repo-after-filter-branch-tree-filte直前のcommitの修正 http://blog.ch…

Author修正

git

$ git rebase -i HEAD~2 $ git commit --amend --author="hoge <hoge@example.com>"めも</hoge@example.com>

GitのCommit中のAuthor名およびCommitter名を変える

git

http://d.hatena.ne.jp/idesaku/20090908/1252419890 $ git filter-branch --commit-filter ' GIT_AUTHOR_NAME="idesaku" GIT_AUTHOR_EMAIL="(メールアドレス)" GIT_COMMITTER_NAME="idesaku" GIT_COMMITTER_EMAIL="(メールアドレス)" git commit-tree "…

独自のサブコマンド(あるいはちょっと複雑なalias)を定義する際のtips

git

http://whileimautomaton.net/2009/05/08003459 めも、未検証

patch コマンドで tab と space の違いを無視する

git

http://pooh.gr.jp/?p=5599 http://linuxjm.sourceforge.jp/html/GNU_patch/man1/patch.1.html l または --ignore-whitespace タブやスペースが変更されている場合のために、パターンの一致をゆるく見る。パッチファイル中の 1 個または複数の空白の並びはオ…

tabを変換してcommit

git

git format patchで対象を出力 変換hookを入れる $ cat .git/hooks/pre-commit #!/bin/bash if git rev-parse --verify HEAD >/dev/null 2>&1 then against=HEAD else # Initial commit: diff against an empty tree object against=4b825dc642cb6eb9a060e54…

amendで前回のコミットメッセージを流用

git

$ git commit --amend -C HEAD参考 http://blog.s21g.com/articles/1622 http://www.jukie.net/~bart/blog/git-amend

cherry-pickで空白を無視,改行コードを変換

git

SHA1は"abc123"とする。 $ git show -w abc123 |nkf --unix -w | patch -p1 $ git commit -a -C abc123Git cherry-pick without whitespace http://stefaanlippens.net/git-cherry-pick-without-whitespace

gitでインデント量以外の変更点を表示する

git

http://labs.timedia.co.jp/2011/06/show-true-difference-with-git.html $ git diff -bめも

git diff の使い方

git

http://d.hatena.ne.jp/murank/20110320/1300619118 git diff --cachedHEAD とインデックスの差分を表示。 git add して、コミットする前に差分を確認したい時に使う git diff HEADHEAD とワーキングツリーの差分を表示。前にコミットした時からどれくらい編…

コンフリクトしているファイルの一覧を表示する。

git

http://d.hatena.ne.jp/sinsoku/20110831/1314720280 git ls-files -uめも

GitのmergeをWinMergeにする

$ cat ~/.gitconfig [merge] tool = WinMerge [mergetool "WinMerge"] cmd = \"C:/Program Files/WinMerge/WinMergeU.exe\" //r //e //u //wl //wr \"$LOCAL\" \"$MERGED\" \"$REMOTE\" 参考サイトの記載だと保存が微妙だったので変更 参考 http://takanosho…

git config --add receive.denyCurrentBranch ignore

git

http://d.hatena.ne.jp/nishiohirokazu/20120416/1334548800 どう危険なのか。一言で言うと「ある人が行った実装を、別の人が無意識に削除してコミットする」という事態を引き起こす。 git pushできない http://d.hatena.ne.jp/shokai/20101105/1288968082 p…

core.pager

git

http://git-scm.com/book/ja/ch7-1.html#corepager $ git config --global core.pager 'less -R' $ cat ~/.gitconfig [core] pager = less -Rhttp://d.hatena.ne.jp/gunshot/20121201 または [core] pager = lv -cOu8未検証、参考 http://d.hatena.ne.jp/Rio…

このページにはhatena以外のサービスからのコンテンツが埋め込まれています。 hatenaによりGoogle AdSense 広告が埋め込まれています。