読者です 読者をやめる 読者になる 読者になる

by shigemk2

当面は技術的なことしか書かない

git statusの文字化け対策

Git

git config --global core.quotepath false ってやるといいんだけど、なんでこの設定にしないといけないんだっていうのが見つからなかったので。 The commands that output paths (e.g. ls-files, diff), when not given the -z option, will quote "unusual…

git send-email

Git

考えてみると、GitHubというツールは偉大であると同時に不自由でもあるため、パッチのメールを送る時のコマンド群を記す。 事前設定(Gmailの例 送信メールアドレスの設定を~/.gitconfigで) [sendemail] smtpencryption = tls smtpserver = smtp.gmail.com sm…

gitの今のbranchを取得する

Git

思い出してきた。 git rev-parse --abbrev-ref HEAD

Git push master fatal: You are not currently on a branch

Git

Git push master fatal: You are not currently on a branch エラーの文章いっぱいでてたけど、最後のコマンドを実行したらばうまく行きました。 fatal: You are not currently on a branch. To push the history leading to the current (detached HEAD) st…

git rebaseでNeeded a single revision

凡ミスの間違い探し。 $ git rebase -i head~2 fatal: Needed a single revision invalid upstream head~2 stackoverflow.com ただしくは、headではなくHEADだ。

git add upstream毎回やるの面倒だった

Git

#!/bin/bash git remote add upstream $1 これ。毎回git add upstreamするの面倒なので。 qiita.com

Gitで既に削除したファイルのコミットログを確認したい

Git

git log -p -- delete_test.txt man git-log には以下のように書いてあって、 Show only commits that are enough to explain how the files that match the specified paths came to be. See History Simplification below for details and other simplific…

Agent admitted failure to sign using the key.

Git

出涸らしみたいなネタですけども。 Error: Agent admitted failure to sign - User Documentation 鍵が鍵として認識されていないという説。 $ ssh-add ~/.ssh/id_rsa

git config --global color.ui true

Git

Git - Git の設定 $ git config --global color.ui true だいたいはtrueで足りるっていう話。

git-secrets

github.com qiita.com もっと使い方を探求せねば。private repoとか。

Gitのrefの応用: pull requestの情報をローカルに持ってくる

職場でGitのrefについてお話があって、同僚がこんなコマンドを紹介していました。 $ git fetch git@github.com:sample-user/sample-repo.git '+refs/pull/*:refs/remotes/pr/*' これで、GitHubのPRの情報をローカルに持ってこれます。PRの内容をローカルでチ…

git commit --amendでAuthorとメールアドレスを変えたい

Git

こういうやり方っす。 $ git commit --amend --author "New Author Name <email@address.com>" stackoverflow.com</email@address.com>

まだpushしていないコミットを表示したい

Git

わりと最近のgitの機能で、こんなのが追加されたっぽい。 # View commits that will be pushed git log @{u}.. stackoverflow.com ちなみに、このコマンドはcheatコマンド gitで会得した。 github.com

【追記あり】pecoを利用して、gitで変更のあったファイルにEmacsでアクセスする

qiita.com 表題のことをしたかったんですが、ってやってもうまくいかないんです。うまく説明できないんですが、git diffはlessっぽい挙動で、awkで拾えないけど、git statusだと結果は標準出力で送られるので、awkで拾えるって言う感じっぽい。 $ git diff |…

Gitのstashの中身を見たい

Git

stackoverflow.com わりとこれだけ。stashの指定もできちゃう。 $ git stash show -p $ git stash show -p stash@\{0\} とはいえ、stashを多用するのはよくないので、たぶんほどほどに。。。

git logのauthor dateを変更

Git

$ git commit --amend --date="Sat, 14 Dec 2013 12:40:00 +0000" # only author authorだけで、committerは知らない eddmann.com author とはその作業をもともと行った人、committer とはその作業を適用した人のことを指します。あなたがとあるプロジェクト…

MacのFSはcase-insensitiveなので、Gitのupcaseなどのファイル名変更を追跡してくれない話を思い出した

ほぼ2年前に通過した場所をもう一度思い出しました。 www.shigemk2.com gist.github.com MacのファイルシステムはCase-sensitiveではないので、たとえばHoge.txtをリネームしてhoge.txtにしても、Gitはファイル名の変更を追跡してくれない(MacみたいなCase-i…

Gitリポジトリのコピー

Git

gitリポジトリの複製 - Qiitaqiita.com そのまんまなぞってみる。

git log -p -S

Git

差分を-Sでサーチする。 基本形 $ git log -S"import" 詳細 $ git log -p -S"import" ファイル名のみ $ git log -S"import" --stat など。 git logでコミットの差分の中身で絞り込む - Qiitaqiita.com

git diff --check

Git

余計な空白とかを警告してくれる奴。 transitive.info - git diff 使い方 例。

auto-completeにプルリクを投げた

日記です。プルリクを投げました。簡単なものですが。 Add scala-mode dictionary by shigemk2 · Pull Request #398 · auto-complete/auto-completegithub.com そういえば、auto-completeのdictにScalaが入っていないなあ、ENSIMEとscala-modeは相性が悪いな…

ぷるりくの書き方とかコミットのやりかたとか

Git

オンラインのコミュニケーションは難しいよねっていう話 プルリクはわかりやすく、読みやすく書く(無言はよくないよ) 命令口調よくない GitHub「完璧なプルリクの書き方を教えるぜ」 - Qiitaqiita.com 余計な改行とか余白とかはよくない とは言え、バグが出…

コミット日付をタイムスタンプに復元したい

Git

通常、git cloneしたリポジトリのファイルのタイムスタンプは、cloneした日付である。 でもファイルのタイムスタンプを実際に編集した時、せめてコミットしたときまで復元したいときってあるよね。あると思う。 実際に見てみると、ああ^~って感じのシェル芸…

【未解決】git-rebaseするとgit-notesが消える

Git

そのままなので、解決方法は不明です。

svnとgit

とりあえず、subversionとgitのコマンド対応表。原理が違うから厳密に言うとsvn checkout = git cloneではないんだけど、subversionからgitへ移行するとき、gitばかりやってきた人が突然subversionプロジェクトを触らないといけないときに便利だと感じました…

リポジトリの切り出し

Git

Git で複数のリポジトリをまとめたり、逆に切り出したりする - Qiita Git で複数のリポジトリをまとめたり、逆に切り出したりする - Qiita そのまんまですが、 repo1---repo2 |__repo3 |__repo4 |__repo5 みたいな構成になっているとき、repo2だけ独立したリ…

git logのオプションをもう一度振り返ってみる

Git

git logのオプションあれこれ - 煙と消えるその前に git logのオプションあれこれ - 煙と消えるその前に とりあえずブログ用にメールアドレスを表記さしたくなかったので、%h %an %ad %sだけ覚えておけば。 h=ハッシュ ad=author name ad=author date s=stri…

空のコミットを作りたい

Git

空コミット便利!git commit --allow-emptyでgitを使った開発フローを改善 - fukajun - DeepValley - こういうふうに書くと、何も修正を加えずにコミットログを残すことが出来ます。 $ git commit --allow-empty -m "make pull request" 無論、こういうコマ…

git log --onelineとgit notes

Git

git-notesはgitのコミットログに注釈をつけるアレ。 transitive.info - git notes 使い方 git logでノートを見ることができる。 なお、git log --onelineでは見れないもよう。 git log --oneline のお供に --no-merges - Qiita git log --oneline のお供に -…

git notes

Git

transitive.info - git notes 使い方 コミットメッセージの注釈をつける。 $ git notes add $ git notes remove など。

シェルスクリプトで1000回コミット

Git

シェルスクリプトで指定回数実行 とある現場の組込みエンジニア シェルスクリプトで指定回数実行 とある現場の組込みエンジニア これの応用です。機械的にファイルを作成したり消したりしてコミットしているだけなので、実用性は全くありません。 #!/bin/sh …

author dateとcommiter date そしてGitHub

Git

コミットにはコミットの著者である author とコミットを取り込んだ人を表す committer の 2 つの属性が存在していて、それぞれ別のタイムスタンプ (author date と committer date) を持っている Git のコミットのタイムスタンプには author date と committ…

【未解決】GitBashの履歴が残らないことがある

表題の通りなんだけども、 msysgitのGit Bashでも使える便利な5つのBashの補完機能 - みちしるべ msysgitのGit Bashでも使える便利な5つのBashの補完機能 - みちしるべ .bash_historyを残せばいいんじゃないかなって勝手に思っている。明日試す。

Git Internals

Git

社内勉強会のメモ。 コミットとブランチ編 親コミットと子コミット 新しくブランチを作ると同じコミットを参照している .git/HEAD で今どこのブランチを参照しているかがわかる .git/refs/head/ブランチ名 ブランチの最新コミットを参照している USER@USER-T…

.keepとか.gitignoreについて

Git

git では空のディレクトリをリポジトリに含めることはできない。 そのため、どうしても空のディレクトリをリポジトリに加えたい場合、 適当なファイルを作ってそのディレクトリに入れる必要がある。 transitive.info - git add 使い方 で、.gitkeepとか.keep…

すでにコミットしたファイルを.gitignoreに反映さす

Git

git addの取り消しと、コミット済みのファイルを除外する方法 - kanonjiの日記 $ git rm --cached foo.txt これにより、ファイル自体は削除せずにインデックスからのみ削除できる。

雑多なcommitフック

Git

ふっく copy command ためしてみた http://open-groove.net/shell/printf/

特定のローカルレポジトリから最新のコミットハッシュとリポジトリの変更を知る

Git

pushd と popd pushd/popdでフォルダを移動する − @IT ↑のリンクはWindowsのものだけど、効果はLinuxでも同じ。 $ pushd hoge からの $ popd でもとのディレクトリにもどれる。 最新のコミットハッシュ $ git rev-parse --verify HEAD git mergeでコンフリ…

globalなignoreファイルを作りたかった

Git

環境 CentOS 6.5 Git 1.7.1(古い…) やったこと globalな.gitignoreを設定する - やぐブロ $ git config --global core.excludesfile ~/.gitignore で、~/.gitignoreをごにょごにょしたらよい。

oh-my-zshに学ぶ.gitignore

oh-my-zshの.gitignoreはこんな感じ。 locals.zsh log/.zsh_history projects.zsh custom !custom/plugins/example !custom/example.zsh *.swp !custom/example.zshcache cache/ *はワイルドカード。 !で否定を表す。 新しく本家にプルリクエストを投げるの…

git merge --no-ff

Git

ブランチをmergeすると「マージしたおっ☆」というコミットが作られる。

今日Gitで学んだこと

Git

merge commit をrevert gitのmerge-commitをrevertする - 車輪を再発明 / koba04の日記 ブランチ間のdiffをGithubぽく Githubのpull-requestみたいなdiffを出力する - Qiita

utf-8環境でeuc-jpで書かれたソースコードのgit log -pをやりたかった

$ git config --global core.pager "nkf -w | LESSCHARSET=utf-8 less" そう、ページャをnkfすればよかったんや。 git diff の文字化け - 備忘録 なんかいろいろ試した。 gui-gitとかgitkとか tigとか。 でも、全部だめやった。 単にlv -c とかでもあかんし…

gitbucketを導入してみよう

ゆるーく。 openjdk # yum -y install java-1.7.0-openjdk tomcat $ wget http://ftp.meisei-u.ac.jp/mirror/apache/dist/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz $ tar xzf apache-tomcat-7.0.47.tar.gz gitbucket.war $ wget https://gi…

Gitのautocrlfについて

Git

概要 開発環境によってOSが違うと、文字コードとか改行コードとかの違いに悩まされることがある。 1行しか追加していないのにコミットしたらファイルがまるっと置き換わってて トピックブランチをmergeしようとしたら盛大にコンフリクトを起こすということは…

merge前の差分を見たい

Git

masterとかmergeしたいブランチで、 $ git diff ...otherbranch 文字コードを無視したいとき $ git diff -w ...otherbranch How can I preview a merge in git? - Stack Overflow

git mergeでコンフリクトが発生するか前もって調べる

Git

git mergeでコンフリクトが発生するか前もって調べる方法 - Qiita 直前のbranchを現在のbranchにマージできるかチェックする git format-patch `git rev-parse --abbrev-ref HEAD`..`git rev-parse --abbrev-ref @{-1}` --stdout | git apply --check 流れ …

Gitのobjectについて

Git

gitのcommit objectの中身 - はこべブログ ♨ 概要 Git - Gitオブジェクト tree----tree----blob |__blob コミットログのハッシュ $ git log --oneline 65296da Fix function name 2fbebba インタプリタ mov統合 51a00a2 逆アセンブラを対応させた 4175c99 Fi…

Windowsでgitの設定

Git

Windowsでmagitを使いたい windows で magit を使いはじめるまで - めもめも gitで改行コードをごにょごにょ git での改行コード - Qiita LF will be replaced by CRLF 対策 Make Git "LF will be replaced by CRLF" warnings go away - Stack Overflow Wind…

mergeを取り消したい

Git

$ git reset --hard HEAD まあこんな感じ。