我通常使用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
显示为仍需要删除的文件,就好像它正在执行挂钩但忽略了修改后的提交。
我可以做些什么来完成这项工作?