「Develop」の版間の差分
提供:senooken JP Wiki
(Shell) |
(マージコミット後のコミット追加) |
||
17行目: | 17行目: | ||
git diff --name-only new_base 44765_upgrade-base-version | xargs -i cp -p --parent "{}" archive/ | git diff --name-only new_base 44765_upgrade-base-version | xargs -i cp -p --parent "{}" archive/ | ||
=== マージコミット後のコミット追加 === | |||
マージコミット後に次の開発作業を始めることが多い。が、直後の初回のコミットを追加したい場合困る。 | |||
git rebase -iにすると、コミットが残るから。編集はできるが、その直前にコミットの追加ができない。マージコミットは扱いが特殊で直接rebaseで編集できない。 | |||
しかたないので、該当コミットでブランチを作成して、コミット。その後、既存の修正ブランチをrebaseでそのコミットの後にくっつける。これでいける。 | |||
== Shell == | == Shell == |
2023年12月8日 (金) 15:00時点における版
About
ソフトウェア開発作業全般
Git
差分ファイル抽出
情報源: gitで差分ファイルを抽出する #Git - Qiita。
git archiveとgit diffを組み合わせる。
git archive --format=zip --prefix=root/ HEAD `git diff --diff-filter=d --name-only HEAD^ HEAD` -o archive.zip
ただし、この方法はファイル数がARG_MAX以下の場合だけ。ファイル数が多い場合だめ。
git diff --name-onlyで一覧を出力させて、1個ずつcp -pで階層を維持してコピーするしかないかも?
例:
mkdir -p archive git diff --name-only new_base 44765_upgrade-base-version | xargs -i cp -p --parent "{}" archive/
マージコミット後のコミット追加
マージコミット後に次の開発作業を始めることが多い。が、直後の初回のコミットを追加したい場合困る。
git rebase -iにすると、コミットが残るから。編集はできるが、その直前にコミットの追加ができない。マージコミットは扱いが特殊で直接rebaseで編集できない。
しかたないので、該当コミットでブランチを作成して、コミット。その後、既存の修正ブランチをrebaseでそのコミットの後にくっつける。これでいける。
Shell
ワイルドカード
ワイルドカードで.始まりのファイルをマッチさせたい。
以下ならマッチするが、ブレース展開 (brace expansion) はPOSIX shでは使えなかった気がする。
echo {.*,*}