我通常使用GitHub for Mac将代码提交到我的 GitHub 项目,因为这样做会更快一些。对于我当前的项目,我必须设置以下预提交挂钩:
if [ -e images/sprites-01.png ]
then
mv -f images/sprites-01.png images/sprites.png
git add images/sprites.png
git commit --amend -C HEAD --no-verify
fi
当我通过命令行提交时,它只是执行正常的提交,然后它执行修改前一个提交的钩子,我可以获取我新重命名的文件。当我推送时,我将所有内容视为一个提交,如如果什么都没发生。
但是,如果我进行更改然后使用 GitHub for Mac 同步它们,当我同步时它会显示“请在同步之前提交所有更改”。然后它images/sprites-01.png
在文件列表中将文件显示为仍需要删除的文件,就好像它正在执行挂钩但忽略了修改后的提交。
我能做些什么来完成这项工作?