• (.DS_Store)避免多人提交代码到GitHub上起冲突


    在多人合作的项目里,git pull origin master执行完之后出现以下问题:

    Auto-merging .DS_Store CONFLICT (content): Merge conflict in .DS_Store Automatic merge failed;

    原因是.DS_Store这样的文件在项目提交时需要忽略掉。

    忽略步骤:

    1、touch .gitignore 创建一个文件,

    open -e .gitignore 把配置内容粘贴上传,然后保存。(内容是https://www.gitignore.io/gitignore网站里输入 Mac os  objective-c cocoapods xcode即可以获取到)

    git add .

    git commit

    然后要全局使用这个 .gitignore 

    $ git config --global core.excludesfile ~/.gitignore

    后面跟的是 .gitignore文件位置。你可以更改。但是那个路径下 必须存在那个配置文件。

    2、手动或者命令行删除完  .DS_Store之后,执行一下命令:

    rm .DS_Store

    git add .

    git commit -a -m “更改内容”或者git commit -am是前者的简写

    git pull origin master

    git push origin master

    执行完之后 其他同事需要合并我的代码,如果同事有内容提交,执行一下命令:

    git add .

    git commit -a -m “修改的内容"

    git pull origin master

    git merge origin/master执行此命令之后出现以下错误:

    error: merge is not possible because you have unmerged files.

    hint: Fix them up in the work tree, and then use 'git add/rm '

    hint: as appropriate to mark resolution and make a commit.

    fatal: Exiting because of an unresolved conflict.

    出现此错误后重新执行

    git add .

    git commit -a -m “ssss”

    git pull  origin master

    git merge origin/master

    然后再执行下面

    git push origin master

    至此GitHub上就不会再有.DS_Store了成功的表现是:本地有.DS_Store和gitignore文件就可以了,GitHub上有.gitignore 没有 .DS_Store文件。



    文/小木偶的(简书作者)
    原文链接:http://www.jianshu.com/p/4f69c79b295f
    著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
  • 相关阅读:
    QML中的states用法
    mako的namespace(四)
    Dynamics CRM2013 按钮自定义开发工具 Ribbon Workbench 介绍
    CRM 导入导出附件上传大小限制控制
    插件(plugin)调试技巧及注意事项
    Dynamics CRM2013 自定义开发工具 Dynamics XRM Tools 介绍
    传递正能量,拒绝负能量!加油
    让人无语的编程环境
    转NET(C#):线程本地存储(ThreadLocal Storage)之ThreadStatic, LocalDataStoreSlot和ThreadLocal<T>
    转javaThreadLocal
  • 原文地址:https://www.cnblogs.com/wuchanming/p/5405681.html
Copyright © 2020-2023  润新知