業務でのアウトプットの記録ともいう。追加予定あり。
アレゲなコマンドレットもありますので、意味を一旦でいいので考えてから実行ください。
カレントディレクトリ以外のgitリポジトリを使用する
COMMAND以下は可変。tarコマンドと同様ですね。
git -C /path/to/repo COMMAND...
Initial Commitを取得する
git rev-list --max-parents 0 origin/master
あるリビジョンでのファイルを表示する
git show REVISION:FILE
あるブランチのある日時における直前のコミットを取得する
BRANCHはorigin/等がついていても可。DATEは"2019-01-01 00:00:00"みたくする。+09とかがついていなければデフォルトでローカル時間になるようです。
git rev-list -n 1 --first-parent --before=DATE BRANCH
あるファイルが追加されたコミットを取得する
git log --pretty=format:%H --diff-filter=A BRANCH -- FILE
日時を指定してコミットする
最後のコミット日時から前の日付を指定するテストはしてません(できなさそうですが)
GIT_COMMITTER_DATE=DATE git commit --date=DATE
GIT_COMMITTER_DATE=DATE sh -c 'git commit "--date=$GIT_COMMITTER_DATE"'
commit dateを書き換えずにrebaseする
OTHER_BRANCHにHEADより新しいコミットが存在する場合はテストしてません
git rebase OTHER_BRANCH --committer-date-is-author-date