我对一个我不想提交到我的存储库的文件进行了本地更改.它是用于在服务器上构建应用程序的配置文件,但我想在本地使用不同的设置进行构建.当然,当我将'git status'作为要上演的东西时,该文件总是显示出来.我想隐藏这个特定的更改而不是提交它.我不会对文件进行任何其他更改.
经过一番挖掘后,我看到了两个选项:'假设未改变'和'跳过工作树'.这里的前一个问题谈到了它们,但并没有真正解释它们之间的区别.我的问题是:这两个命令有何不同?为什么有人会使用其中一个?
我团队中的每个开发人员都有自己的本地配置.该配置信息存储在一个文件中,该文件devtargets.rb在我们的rake构建任务中使用.不过,我不希望开发人员破坏对方的devtargets文件.
我的第一个想法是将该文件放在.gitignore列表中,以便它不会被提交给git.
然后我开始想知道:是否可以提交文件,但忽略对文件的更改?所以,我会提交一个默认版本的文件,然后当开发人员在本地机器上更改它时,git会忽略这些更改,当你执行git status或git commit时它不会显示在已更改文件列表中.
那可能吗?这肯定是一个很好的功能......
可能重复:
git:我可以提交文件并忽略内容更改吗?
我有一个简单的问题,我希望有一个简单的解决方案.
使用Git(和Tower,很棒的应用程序),我有一个存储库,其中有一个文件,每个人都需要在克隆存储库时下载,但是该文件永远不应该重新上载更改(因为它是一个配置文件,具有特定于数据库的用户名/密码和路径) - 仅在本地使用时才进行更改.
我想要做的是忽略我在本地对该文件所做的任何更改,因此当我将更改推送到我的仓库时,文件将不会更新.怎么能实现这一目标?
应当指出的是:
当我克隆repo时,文件显示出来,但是当我忽略它时(仅限本地,而不是通过.gitignore)我必须解开它,当我这样做并将更改推回服务器时,任何克隆回购的人都不会下载文件<<不良行为.
如果我忽略了该文件但我没有忘记它,该文件仍显示在我的工作目录中,等待提交"不良行为".
我自己使用 git 已经有一段时间了,现在正在为我们的团队设置一个 repo。我们开发了一个电子商务平台。
有一些目录和文件要忽略,例如上传目录和特定于环境的配置文件。
虽然配置文件在 .gitignore 上,但我想用--skip-worktree或忽略上传目录--assume-unchanged。
我的问题 - 我找不到明确的答案 - 是--assume-unchangedor--skip-worktree位是否会被推送到上游回购?
如果不是,那么确保 git 不会跨存储库的所有实例操作上传目录的内容的最佳方法是什么?
为了为特定项目设置C++ 11,我需要添加-std=c++11到CDT GCC Built-in Compiler SettingsProject - > Properties - > C/C++ General - > Preprocessor Include Paths,Macros等.
这将创建一个.settings/language.settings.xml在每个需要C++ 11的项目下调用的文件.该文件包含该-std=c++11设置.
我将此文件提交到git中,但是,该文件还包含为每个不同的服务器重新计算的环境哈希.
结果是合并噩梦,每个开发人员必须不断恢复或提交更改language.settings.xml才能工作.每次发生时,索引器将开始重新索引所有内容.
我可以避免这个吗?我可以用不同的方式为每个项目设置C++ 11的索引器吗?
编辑:我不能只是gitignore文件,因为我需要与所有开发人员共享它们.