如何阻止git推送已提交的本地文件

2024-05-18 17:51:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为Thinking.py的文件,我将它添加到我的每个项目中,它是我自己的个人日志,记录了项目中发生的事情

我最近创建了一个flask和python模板,我想把它公开放在GitHub上,但我不希望它包含Thinking.py,因为它包含我自己的个人评论

我将Thinking.py添加到了我的.git/info/exclude,但是当我将项目上传到gihub时,Thinking.py文件仍然出现

请注意,在我编辑.git/info/exclude之前,Thinking.py包含在以前的提交中

如何使Thinking.py的任何内容都不会上载到GitHub,但所有与Thinking.py有关的更改和提交仍保持在我的计算机上


Tags: 文件项目pygitinfogithub模板编辑
2条回答

Git不推送文件。Git推送提交。如果文件在某个提交中,并且您推送提交,则他们将获得该文件。如果你不推送那个提交,他们可能已经有了文件,但是你不推送的提交不会让他们得到它

如果您想绝对确保不会意外地推送任何确实有该文件的提交,请确保没有此类提交,方法是不提交该文件。否则,请小心推送哪些提交:当您推送包含该文件的任何提交时,它们就拥有该文件(因为它们拥有该提交,而该提交拥有该文件)

如果您需要从现有提交中删除文件,那么您也必须删除提交本身,因为任何提交都不能更改,一位也不能更改。完全去除它们并不容易,但可以做到。您可能需要新的和改进的提交,您可以使用来代替旧的提交。要以自动化的方式手动完成这项工作并不有趣,您可能会想使用git filter-branch,这是一个非常复杂的Git命令,有大量的选项,可以对存储库做很多事情,或者使用BFG,一个Java工具,它只做git filter-branch所做的事情的一个非常有限的子集,但是速度更快,用户更友好See the many StackOverflow questions about the BFG.

Thinking.py文件是否也由git根据最新的更改进行了更新? 基于您的问题,我认为GitHub中的Thinking.py文件只是您以前提交的结果,并不包含最新的更改

您可以尝试完全删除该文件(确保不要意外删除本地文件):

Remove a file from a Git repository without deleting it from the local filesystem

希望我能帮上忙

相关问题 更多 >

    热门问题