git如何让文件只提交一次,之后对文件改动都不进行提交,且所有分支起效

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git如何让文件只提交一次,之后对文件改动都不进行提交,且所有分支起效相关的知识,希望对你有一定的参考价值。

参考技术A 有一个配置文件
git上保存一份可发布状态的
但是本地测试需要对配置文件进行改动
这些改动并不想提交到git
之前做法
1

git update-index --assume-unchanged

让本地不对文件进行追踪
但是这个做法对其他分支并没有效果

有什么命令可以达到我想要的效果?

git-extras 提供了一个命令 git lock,可以实现这个功能,提交文件以后用 git lock 命令把配置文件锁住。

当然这个 git lock 命令的实现很简单,包装了 git 自带的功能:

有同样的效果。

.gitignore文件不知道能不能满足,提交一次之后把配置文件填加入.gitignore文件中,之后就不会提交了

仅与文件一起使用,不与目录一起使用。 我认为,更快的方法之一:

恢复跟踪

git update-index --no-assume-unchanged sp_edaijia/protected/controllers/ApiController.php //恢复跟踪

如果忽略的文件多了,可以使用以下命令查看忽略列表

git uls-files -v | grep '^h '

提取文件路径,方法如下

git ls-files -v | grep '^h ' | awk 'print $2'

所有被忽略的文件,取消忽略的方法,如下

git ls-files -v | grep '^h' | awk 'print $2' |xargs git update-index --no-assume-unchanged

这样的话,这个文件的改动就不会在git status的时候显示。

以上是关于git如何让文件只提交一次,之后对文件改动都不进行提交,且所有分支起效的主要内容,如果未能解决你的问题,请参考以下文章

快速入门Git,通俗详细,一次就会,最新更新

git commit 之后,撤销操作

怎样解决git提交代码冲突

Git - 如何返回最后一次提交并删除所有未提交的文件?

图文超详细解决IDEA使用Git忽略提交一个某个文件

如何让 Git 每次推送时都要求输入用户名和密码?