各種パッケージマネージャやバージョン管理ツールでの環境最新化方法のまとめ

オープンソースのプロジェクトって、開発言語やプラットフォームで使ってるパッケージマネージャやバージョン管理ツールがバラバラでとても覚えきれないので、ここにメモっておく。

パッケージマネージャ編

Homebrew

※updateとupgradeがややこしいので注意

全インストール済みパッケージの最新化

brew upgrade

特定のパッケージの最新化は普通に brew install

Homebrew自身の最新化

brew update

ローカルより新しいバージョンが存在するパッケージを表示

brew outdated
RubyGems(Ruby)

インストール済みパッケージの最新化

gem update

RubyGems自身の最新化

gem update --system

ローカルより新しいバージョンが存在するパッケージを表示

gem outdated
easy_install(Python)

インストール済みパッケージの最新化

easy_install -U PackageName
pip(Python)

インストール済みパッケージの最新化

pip install --upgrade PackageName

cyg-apt

(あとで書く)

バージョン管理ツール編

CVS (Sourceforge)

リポジトリの変更をワーキングディレクトリに反映

cvs update
Subversion (GitHub, CodeRepos, GoogleCode, Sourceforge)

リポジトリの変更をワーキングディレクトリに反映

svn update

リポジトリ及びワーキングディレクトリのファイルがが変更されているか確認

svn status -u
Git (GitHub, CodeRepos)

クローン元の変更をローカルのクローンに反映(fetch & merge)

git pull

クローン元の変更に対してローカルの変更がfast-forwardになるように取り込む場合は--rebaseオプション。(あたかも、クローン元の最新の状態に対してローカルの変更を行ったようにマージする)

git pull --rebase

変更を取り込む元が、直接のクローン元じゃない場合(たとえば、本家リポジトリGithubでフォークして、そのリポジトリをローカルPC上にクローンしている状況で、本家の変更をローカルのリポジトリに取り込む場合とか)は対象リポジトリのURLを指定する。

git pull http://foo/bar.git master

リポジトリのURLを何度も打ち込むのが面倒なら、remoteとして登録しておくと、あとあと楽

git remote add upstream http://foo/bar.git

としておくと

git pull upstream/master

で本家の変更を取り込むことができる。

Mercurial (Bitbucket, GoogleCode)

(あとで書く)

Bazaar (LaunchPad)

(あとで書く)