使用 Git 过滤分支时添加注释以提交
Add note to commit when filtering branch with Git
下一个命令是存储提交历史记录和文件列表,但删除文件内容以最小化磁盘 space 和网络流量消耗,当需要了解巨大的回购历史而不获取大对象时。 这样可以节省很多时间。
git filter-branch -f -d `mktemp -d` \
--tree-filter '
find . -type f -not -path ./.git\* |
while read file; do > "$file"; done
' \
--msg-filter '
cat - && echo && echo "commit $GIT_COMMIT"
' \
-- metainfo/$BRANCH
我还需要知道源提交哈希。正如您在 --msg-filter
部分中看到的那样,它被附加到提交消息中。
我想在 git notes 中存储源提交哈希。
可能吗?怎么样?
简单的解决方案:不更改提交消息,而是创建文件。
git filter-branch -f -d `mktemp -d` \
--tree-filter '
find . -type f -not -path ./\*/.git\* |
while read file; do > "$file"; done
echo "$GIT_COMMIT" >.GIT_COMMIT
' \
-- metainfo/$BRANCH
下一个命令是存储提交历史记录和文件列表,但删除文件内容以最小化磁盘 space 和网络流量消耗,当需要了解巨大的回购历史而不获取大对象时。 这样可以节省很多时间。
git filter-branch -f -d `mktemp -d` \
--tree-filter '
find . -type f -not -path ./.git\* |
while read file; do > "$file"; done
' \
--msg-filter '
cat - && echo && echo "commit $GIT_COMMIT"
' \
-- metainfo/$BRANCH
我还需要知道源提交哈希。正如您在 --msg-filter
部分中看到的那样,它被附加到提交消息中。
我想在 git notes 中存储源提交哈希。
可能吗?怎么样?
简单的解决方案:不更改提交消息,而是创建文件。
git filter-branch -f -d `mktemp -d` \
--tree-filter '
find . -type f -not -path ./\*/.git\* |
while read file; do > "$file"; done
echo "$GIT_COMMIT" >.GIT_COMMIT
' \
-- metainfo/$BRANCH