美文网首页
Git使用小结

Git使用小结

作者: topone37 | 来源:发表于2018-03-05 11:12 被阅读8次

    1.文件权限的变更导致Git的变动

    在之前把开发环境由Windows转入Ubuntu之后,发现一个特别奇怪的问题,
    就是AndroidStudio的文件经常改着改着突然所有的文件都出现了改动
    仔细对比你会发现没有什么代码改动,这次无意中发现,是因为git对文件权限的改动也做了记录

    解决方案

    //配置git忽视权限的变动 (毕竟文件权限不是我们关心的改变)
    $ git config core.filemode false
    

    2.文件名大小写改动git不识别

    git 默认不区分文件名大小写

    //配置git 使其对文件名大小写敏感
    $ git config core.ignorecase false
    

    3.强大的cherry-pick 将提交到A分支的commit提交到B分支

    将原本该在dev分支的bugfixed提交到了master分支

    1.  找到master刚提交的commit id
    2.  切换到 dev 
    3.  git cherry-pick “commit id xxx”
    

    4.本地代码reset之后,push failed

    1.  打开git bash 来操作 (最新版本的androidstudio已经可以进行force push了)
    2.  切换到git托管的目录
    3.  git push -f (force) //加上-f参数 强制刷新remote/origin/xxxxx
    

    5.后续添加新的规则到.gitignore不生效

    在用 Git 进行代码管理的过程中,我们会发现后添加进去的 .gitignore 文件, 或者是中途修改了 .gitignore 文件后,.gitignore 文件没有生效,我们需要通过清除 track 缓存和 强制 track 来解决问题
    Git 代码管理中,我们在没有添加 .gitignore 文件的前提下提交了代码之后再提交 .gitignore 文件,或者是中途添加某一文件类型到 .gitignore 文件中,需要通过以下命令行的方式,让 .gitignore 文件生效

    1. Git 代码管理中,我们在没有添加 .gitignore 文件的前提下提交了代码之后再提交 .gitignore 文件,或者是中途添加某一文件类型到 .gitignore 文件中,需要通过以下命令行的方式,让 .gitignore 文件生效:
        //清除缓存
        git rm -r --cached .
        //添加
        git add .
        //提交
        git commit -m "xxxxx"
    
    
    1. 如果是中途从 .gitignore 文件中移除某一文件类型,想要这个文件类型重新被 track,需要通过以下命令行的方式,让 .gitignore 文件生效:
        //添加的时候加上-f参数
        git add -f *.class
        //提交
        git commit -m "xxx"
    

    相关文章

      网友评论

          本文标题:Git使用小结

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