GitHubで色々なライブラリのコミットを見ていく方法

githubの使い方のメモ。

まずはダウンロードしたいライブラリ等のURLを使い、git cloneする。
今回は、8ccと言うCコンパイラを見たかったので、git cloneする

git clone git@github.com:rui314/8cc.git

すると、8ccと言うディレクトリが作られ、その中にソースコードが入っている。

次に過去のコミットに戻りたい時がある。その場合は、以下のコマンドを行う。

git log

古い順に見たい場合は以下の通り。

git log --reverse
commit 03cd14e093b4438947f850ef0d34cc5293a155ac
Author: Rui Ueyama
Date:   Mon Feb 27 21:30:49 2012 -0800
Added string literal.
commit 3764b2071b9601067b81976d80175a0851d0f209
Author: Rui Ueyama
Date:   Mon Feb 27 20:25:07 2012 -0800
Initial checkin.

こんな感じで過去のコミット一覧が出るので、見たいコミットのハッシュをコピーする。(ハッシュとは、03cd14e093b4438947f850ef0d34cc5293a155acのようなもの)

git checkout 03cd14e093b4438947f850ef0d34cc5293a155ac

そして上記のコマンドを行うと、過去のコミットに戻れる。

さらに過去のコミットのさかのぼりたい場合はHEAD^と書けば良い。

git checkout HEAD^

次のコミットを見たい場合は以下のコマンドを行う。

git checkout `git log --reverse --ancestry-path HEAD..master | head -n 1 | cut -d \  -f 2`

ただ、このコマンドをいちいち入力するのは面倒なので、Linuxであればaliasとして登録するのが良い。

vim ~/.bashrc
//以下のaliasを登録
alias gitnext="git checkout `git log --reverse --ancestry-path HEAD..master | head -n 1 | cut -d \  -f 2`"

これでgetnextと入力するだけで上記の長いコマンドが実行できる。source ~/.bashrcを行ってbashrcの更新を忘れずに。

最初に戻りたい場合は以下の通り。

git checkout master

gitの仕組みやコマンド等については以下の記事が参考になった。

ReratedPosts

GitHubで新しいプロジェクトを追加する方法
MacでGitHubのSSH接続をするための設定3ステップ