2014-01-23 52 views
0

我已经有了同一个站点的本地和远程仓库,但是我想保留一些文件。让git不推送某些已经被跟踪的文件

在本地存储库中有一个配置文件和一个.htaccess文件,但我想在远程存储这些文件的不同副本。如何让git在已经被跟踪时忽略这些文件?

回答

2

我认为您在寻找assume-unchanged的标志。

基本上,尝试运行以下命令

git update-index --assume-unchanged <filename> 

这将停止跟踪任何本地更改文件filename

要撤消上述命令的效果,使用git update-index --no-assume-unchanged

+0

我已经这样做了,但它似乎仍然更新它们。这是否意味着它假定它没有变化,但是它在远程中看到了不同的版本,因此将其更改回“未更改”文件? – babbaggeii

+0

你的意思是它(.htaccess文件)在稍后进行拉动时会更新为原始值? IIRC,只有当对文件进行新的提交时,这是默认行为。将需要检查并确认。 –

+0

当我推送到远程服务器时,是.htaccess和配置文件被更新为原始值。 – babbaggeii

0

适当GIT中的工作流将是使用分支。例如,让主分支与远程同步,并为config和.htaccess文件的更改创建一个“本地”分支。

有了这个设置,你会做最主你的工作,那么当你想在本地测试的东西,你会先做

git checkout local 
git merge master 

这种方法的优点是,如果配置或.htaccess文件在远程进行更改时,它应该显示为与本地分支的合并冲突(这很好,因为也许新的更改应该添加到本地配置中)。

相关问题