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

CI で実行するスクリプトをリポジトリに含めるときに古いブランチでも実行できるようにする

Git

CI で実行すべき処理をシェルスクリプトなどにしてリポジトリに含めておく、というのはまっとうな管理というかんじで望ましい。とはいえ、新しく CI のジョブを追加するなどして新しいスクリプトをリポジトリに追加した場合、追加するコミットが含まれていな…

Git でローカルの変更を捨てて upstream に reset したいとき

Git

git reset --hard [HEAD]@{u} tracking branch が設定されている場合に使える。1.7.0 から使える。

Git で特定のリビジョンから tarball やディレクトリを作る

Git

git-archive を使うと worktree に変更があるかどうか (dirty かどうか) を気にしなくてよくて便利。git で管理しているリポジトリの各ブランチの中身をそれぞれ個別のディレクトリにエクスポートする - その手の平は尻もつかめるさmoznion.hatenadiary.com…

work tree の外から git pull する

Git

バッチスクリプトなどで work tree の外から git pull を行いたい、ということはままあるシチュエーションであると思います。git コマンドは --git-dir オプションでコマンドで操作する .git ディレクトリを指定できるので、これを指定すれば済むと思うかも…

より低レベルな Git コマンドを使って他のプログラム (e.g. Vim) と連携する

このエントリはGit advent calendar 2013の24日目のエントリです。私は普段から Vim というテキストエディタを使ってコードを書いています。また unite.vim というプラグインをファイルやバッファを選択して開くといった用途などに利用しています。unite.vim…

Gitでコンフリクトしたファイルを一覧するunite.vimのソース

Add unite-git_conflicts · 88d6b0e · aereal/dotfiles · GitHubプラグインなんて形になってないけど物は試しということで作ってみた。Gitで衝突したファイルを一覧してどうこうするの、git-ls-files --unmerged が紹介されていたけど、フォーマットが煩雑す…

Gitのベストプラクティクスっぽいもの

Git

tbaggery - A Note About Git Commit Messages A successful Git branching model » nvie.com Commit Often, Perfect Later, Publish Once—Git Best Practices だいたいこれらに書いてあることを考えている。基本的にGit Successful Branch Modelで運用する…

git-svnで秘密鍵を指定してアクセスしたい

Git

たぶん生のSubversionでもそうだとおもう。直接関係ないけどDebian (squeeze) に入っているlibsvn-perlはバグがあるのでtestingなりから引っ張ってくるのがよいとおもいます。 ~/.ssh/config に設定を追加する Host deploy_server HostName example.com User…

git-svnで安全にpush/pullするalias

Git

[alias] svn-push = !git stash && git svn dcommit && git stash pop svn-pull = !git stash && git svn rebase && git stash pop Subversionをつかっているプロジェクトにはできるだけ関わりたくないです。 @aereal save する stash がなかったら無関係の …

git-svnのある生活

リポジトリをもってくる % git svn clone -s svn+ssh://user@example.com/path/to/repos/trunk 作業用ブランチを切って作業 % git checkout -b working % touch README % git commit -a -m 'add README' Subversionのリポジトリにコミット % git checkout ma…

Homebrewを ~/homebrew (など) で運用する

既存のHomebrewをアンインストールする cd `brew --prefix` rm -rf Cellar brew prune rm `git ls-files` rmdir Library/Homebrew Library/Aliases Library/Formula Library/Contributions rm -rf .git rm -rf ~/Library/Caches/Homebrew Installation · mxc…

既存のリポジトリの一部から新しいリポジトリを作る

git

dotfilesというリポジトリを立てて各種設定ファイルを管理しているのだけど、その中にこまごまとしたスクリプトも入れている。けど、これは別にして管理したほうがいい気がしてきた。そこで、 scripts というリポジトリを立てて、 dotfiles/bin の中身をそち…