我已经有了同一个站点的本地和远程仓库,但是我想保留一些文件。让git不推送某些已经被跟踪的文件
在本地存储库中有一个配置文件和一个.htaccess文件,但我想在远程存储这些文件的不同副本。如何让git在已经被跟踪时忽略这些文件?
我已经有了同一个站点的本地和远程仓库,但是我想保留一些文件。让git不推送某些已经被跟踪的文件
在本地存储库中有一个配置文件和一个.htaccess文件,但我想在远程存储这些文件的不同副本。如何让git在已经被跟踪时忽略这些文件?
我认为您在寻找assume-unchanged
的标志。
基本上,尝试运行以下命令
git update-index --assume-unchanged <filename>
这将停止跟踪任何本地更改文件filename
。
要撤消上述命令的效果,使用git update-index --no-assume-unchanged
适当GIT中的工作流将是使用分支。例如,让主分支与远程同步,并为config和.htaccess文件的更改创建一个“本地”分支。
有了这个设置,你会做最主你的工作,那么当你想在本地测试的东西,你会先做
git checkout local
git merge master
这种方法的优点是,如果配置或.htaccess文件在远程进行更改时,它应该显示为与本地分支的合并冲突(这很好,因为也许新的更改应该添加到本地配置中)。
我已经这样做了,但它似乎仍然更新它们。这是否意味着它假定它没有变化,但是它在远程中看到了不同的版本,因此将其更改回“未更改”文件? – babbaggeii
你的意思是它(.htaccess文件)在稍后进行拉动时会更新为原始值? IIRC,只有当对文件进行新的提交时,这是默认行为。将需要检查并确认。 –
当我推送到远程服务器时,是.htaccess和配置文件被更新为原始值。 – babbaggeii