メインコンテンツまでスキップ

Git

ライオンハートではGitHubを利用してソースコードの管理をしています。

GitHubのソースコードの取得・編集を行うには、Gitコマンドを利用する必要があります。

インストール

macOS

Homebrewを利用してインストールをすることが可能です。

Homebrew

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Git

Homebrewのインストール後、下記のコマンドを実行します。

brew install git

Windows

Scoopを利用してインストールをすることが可能です。

Scoop

Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')

# または下記でも可
iwr -useb get.scoop.sh | iex

Git

Scoopのインストール後、下記のコマンドを実行します。

scoop install git

応用例

Gitは、指定したブランチやコミット間の差分を取得することができます。この機能を利用することで、ブランチやコミット間で変更されたファイルのリストを作成することができます。

もし、Zsh(macOSのデフォルトシェル)を利用している場合、以下の関数を~/.zshrcファイルに追加することで、git_diffコマンドを利用することができます。

# 現在のブランチと指定したコミットとの差分ファイルを作成する
# git_diff ${commit_no}
function git_diff() {
git diff $1 --diff-filter=ACMR --name-only | sed -e 's/\(^.*$\)/"\1"/g' | xargs git archive --format=zip --prefix=_diff/ HEAD -o _diff.zip
}

もし、Fishを利用している場合、以下の関数を~/.config/fish/config.fishファイルに追加することで、git_diffコマンドを利用することができます。 (まだ動作確認をしていないため、動作しない場合はお知らせください)

# 現在のブランチと指定したコミットとの差分ファイルを作成する
# git_diff ${commit_no}
function git_diff
git diff $argv[1] --diff-filter=ACMR --name-only | sed -e 's/\(^.*$\)/"\1"/g' | xargs git archive --format=zip --prefix=_diff/ HEAD -o _diff.zip
end

上記の関数を追加した後、git_diffコマンドを利用することで、現在のブランチと指定したコミットとの間の差分ファイルを含んだzipファイルを作成することができます。

git_diff ${commit_no}

# Example usage : compare with the latest commit
git_diff HEAD^