管理git中的本地更改我从不想提交

时间:2018-02-20 10:50:22

标签: git

所以我有更改的文件版本,这些是非常个人的更改(例如,为javascript构建关闭缩小)我永远不会提交。 但我确实希望将其与其他人的变化保持一致。

目前,我每次更新工作区时都必须进行堆栈保存,这非常烦人。

必须有办法做到这一点,请问它是什么?

修改

当我做git pull时,我仍然希望反映其他人的变化,所以我不能忽略这些文件。

编辑2 我是承包商,无法开始告诉他们改变他们组织git仓库的方式。我明确更改的文件是gruntfile.js一个构建文件。

4 个答案:

答案 0 :(得分:1)

假设你有一个名为myConfig.yml.dist的配置文件(dist for distribution),所有人都会进行更改并将它们推送到版本控制系统。

但是,然后我们假设您拥有必须位于myConfig.yml的数据库密码,但您永远不想将密码推送到版本控制系统。但是你需要在本地使用你的应用程序。您的本地数据库密码也可能与正在运行的密码不同。

所以诀窍是每个人都忽略了myConfig.yml所以你的.gitignore文件应该包含一行说

/config/myConfig.yml

但如果有人添加了新参数,他必须将其添加到myConfig.yml.dist文件中。他会承诺并推动它。因为每个人都需要了解它。但是你只需要在myConfig.yml.dist中拥有虚拟数据和/或评论的密钥。所以基本上你可以将myConfig.yml.dist复制到myConfig.yml添加正确的密码并运行你的应用程序。

答案 1 :(得分:0)

gitignore文件指定Git应忽略的故意未跟踪文件。如果在名为.gitignore的存储库中创建文件,Git会在您提交之前使用它来确定要忽略的文件和目录。

导航到Git存储库的位置并创建.gitignore文件(如果之前未创建)。添加要从提交中取消跟踪的文件夹名称或文件名。 示例.gitignore文件

vendor
css/main.css.map

这里的供应商是文件夹,main.css.map是文件。现在它将在提交期间忽略'vendor'和main.css.map。

.gitignore文件应该提交到您的存储库中,以便与克隆存储库的任何其他用户共享忽略规则。

答案 2 :(得分:0)

如果配置文件允许从其他配置文件导入,那么您可以创建两个配置,如main.configpersonalized.config。并在main.config导入personalized.config

在此之后,您可以在personalized.config文件中添加.gitignore。 这样,main.config将包含应与所有人一起发送的所有配置,而personalized.config将包含仅针对您的配置。

确保在适当的位置添加import语句,可能是main.config文件的末尾。

我在python文件中定义了配置时使用过它。

答案 3 :(得分:0)

我还没有尝试过,但是您不能在本地分支机构中进行“永不推送”工作,然后撤消合并提交中对主服务器的更改吗? / p>

然后...您有这个工作分支可以继续从master提取并提交,但是您必须将其合并到master并从master推送-我想-请确认是否有人知道1)您必须推送来自master,2)将来来自master的请求不会删除本地更改。