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^