git 只想部分更新远程仓库里的文件

问题

现在假设有一个配置文件 config.json 被加入了远程仓库,我git clone 这个远程仓库之后,对于config.json做了修改。但是我不想把我的修改提交到远程仓库,并且我每次从远程仓库更新的时候也不想再更新这个文件(其它的文件照样更新)。有什么好的解决办法么?

我想到的解决办法

我只想到了在每次git pull之前先 git stash 缓存本地的修改, 然后 git pull之后,再git stash pop用本地缓存的修改覆盖掉远程仓库的更新

但是每次都这样做感觉有点点儿麻烦,想问有没有啥办法让git 知道,我不想更新远程仓库里面的config.json文件,只想更新其它文件?

阅读 11.5k
5 个回答

git checkout config.json 就行了

解决方案就是让config.json不加入版本控制

具体做法如下:
在项目根目录,新建一个.gitignore文件,
在.gitignore文件中写上config.json就可以了

1.已经推送(push)过的文件,想在以后的提交时忽略此文件,即使本地已经修改过,而且不删除git远程库中相应文件,
执行命令:git update-index --assume-unchanged config.js;
2.已经推送(push)过的文件,想从git远程库中删除,并在以后的提交中忽略,但是却还想在本地保留这个文件,
执行命令:git rm --cached config.js;

git checkout --文件名 就可以了。

新手上路,请多包涵

楼主你好,请问你最终是怎么解决的?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题