如何在保留文件在代码库中的同时不提交文件更改?
如何在保留文件在代码库中的同时不提交文件更改?
我在一个共享的git存储库中工作。在我们的项目中,我们有一个名为configuration.json
的文件,用于保存项目的某些参数信息。有时,当我在本地存储库上工作时,我会更改configuration.json
的内容来测试一些东西,但最终都会放弃我的更改,因为我不想提交我的“测试”更改。
如果我不跟踪configuration.json
,那么提交操作会导致整个文件从GitHub存储库中消失,因为GitHub存储库最初就有这个文件,通过提交我本地版本的存储库(没有跟踪configuration.json
)会导致我提交的是不再包含configuration.json
的本地版本。
通常我是通过手动放弃我的更改来解决这个问题,但这并不是最好的解决方案,因为有时我想提交项目中的其他更改,同时保留我在本地设备上对configuration.json
的更改,而不实际提交到GitHub上的共享存储库。
有没有办法在不跟踪文件的情况下,使其在我向GitHub存储库提交时不会消失?
有时候,在本地仓库中工作时,我会更改configuration.json
的内容进行测试,但最终会放弃我的更改,因为我不想提交我的“测试”更改。
为了解决这个问题,我可以在自己的(本地的)仓库中创建一个名为my-temporary-change
的分支。然后,使用清楚地说明这是一个临时更改的提交消息(可以以“TEMP”开头或其他方式)提交这个更改。接下来,可以使用git-rebase(1)或其他可以重写历史的方法将该提交cherry-pick到你正在临时工作的分支。当你完成后,可以使用git-rebase(1)或其他方法删除该提交,以删除历史记录。
如果不需要与GitHub远程共享这个带有临时提交的分支,那么可以将其保留在自己的本地仓库中,无需将其推送到GitHub远程。