相关疑难解决方法(0)

当我签出一个新的分支时,自动删除*.pyc文件和其他空目录

所以这是使用git和python的一个有趣的情况,我相信它也适用于其他情况.

假设我用文件夹/ foo /制作一个git repo.在那个文件夹中我放了/foo/program.py.我运行program.py并创建program.pyc.我在.gitignore文件中有*.pyc,所以git不会跟踪它.

现在让我们说我做另一个分支,开发.在这个dev分支中,我完全删除/ foo /文件夹.

现在我切换回主分支,并且/ foo /重新出现.我运行program.py并重新出现program.pyc文件.一切都很好.

我切换回我的开发分支./ foo /目录应该消失.它只存在于master分支中,而不是dev分支中.但是,它仍然存在.为什么?因为忽略的program.pyc文件阻止在切换分支时删除该文件夹.

解决此问题的方法是在切换分支之前以递归方式删除所有*.pyc文件.我可以使用此命令轻松完成此操作.

find . -name "*.pyc" -exec rm '{}' ';'
Run Code Online (Sandbox Code Playgroud)

问题是,每次更换分支时都必须记住这样做很烦人.我可以为这个命令创建一个别名,但是每次我改变分支时我仍然要记得输入它.我也可以为git-branch制作一个别名,但这也不好.除了更改分支之外,git branch命令还可以执行其他操作,并且我不希望每次使用它时都删除所有pyc文件.哎呀,我甚至可以在非python回购中使用它,那么呢?

有没有办法设置一个只在我更改分支时才执行的git钩子?或者是否有其他方法可以设置所有*.pyc文件,以便在切换分支时删除?

python git bash

53
推荐指数
3
解决办法
1万
查看次数

标签 统计

bash ×1

git ×1

python ×1