美文网首页
git如何让文件只提交一次,之后对文件改动都不进行提交,且所有分

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

作者: 中v中 | 来源:发表于2022-03-07 15:04 被阅读0次

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

    git update-index --assume-unchanged

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

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

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

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

        
    git update-index --skip-worktree 文件路径
    
    

    有同样的效果。

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

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

     cd dir
     ls | xargs -l git update-index --assume-unchanged 
    

    恢复跟踪

    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 update-index --skip-worktree <file>
    

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

    git update-index --no-skip-worktree <file>
    

    相关文章

      网友评论

          本文标题:git如何让文件只提交一次,之后对文件改动都不进行提交,且所有分

          本文链接:https://www.haomeiwen.com/subject/ppknrrtx.html