zoukankan      html  css  js  c++  java
  • .DS_Store文件跟git冲突处理

    一、什么是.DS_Store

    答:.DS_Store是由苹果公司的Mac OS操作系统所创造的隐藏文件(相当于保存文件夹的自定义属性的隐藏文件),目的在于存贮目录的自定义属性,例如文件的图标位置或者是背景色,相当于Windows的desktop.ini。

    二、什么情况出现

    答:做项目时,每次打开项目文件(未修改)或则修改项目后都会提示该文件已修改(与git冲突,无法正常下拉、上传代码),原因,其他项目成员自带的.DS_Store提交到了服务器

    三、解决过程

    1.使用SourceTree工具,放弃工作副本中.DS_Store文件(无效-未解决)

    .DS_Store致命:
    无法创建/用户/XXX /XXX /.git/index.lock':文件存在。如果没有其他git当前正在运行的进程,这可能意味着git过程坠毁在这个存储库。确保没有其他git过程是手动继续运行和删除文件。
    完成与错误,见上图

    2.进入项目文件,使用终端删除.DS_Store文件,git版本工具SourceTree仍然无法进行代码的拉取和上传,如上图。(未解决)

    3.从远程URL新建本地仓库(舍弃原有无法拉取的仓库),新仓库打开文件夹后SourceTree提示.DS_Store已修改,可通过工作副本放弃该文件(缺点是打开文件都会出现,每次都需要手动取消该文件的修改)(解决一半)

    4.终端进入新的本地仓库,删除.DS_Store文件,再次打开则不会再次出现【删除后SourceTree工具会显示删除的所有.DS_Store文件,将删除文件提交push】(解决)

     

     

    四、删除会有副作用吗

    答:删除以后的副作用是这些信息的失去。(当然,这点副作用其实不是太大)--不会影响该文件夹下项目的正常运行

    五、终端删除.DS_Store文件

    打开 “终端” ,cd到你想要删除.DS_Store的文件夹:复制黏贴下面的命令,回车执行,重启Mac即可生效。

    sudo find ./ -name ".DS_Store" -depth -exec rm {} ; 

    六、禁止.DS_Store生成

    defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE

    七、恢复.DS_Store生成

    defaults delete com.apple.desktopservices DSDontWriteNetworkStores

     Ts:

      和别人交换文件(或你做的网页需要上传的时候)应该把 .DS_Store 文件删除比较妥当,因为里面包含了一些你不一定希望别人看见的信息(尤其是网站,通过 .DS_Store 可以知道这个目录里面所有文件的清单,很多时候这是一个不希望出现的问题)

    Ts: 

    // cd到你想要删除的文件夹,输入终端命令
    ls -al

    即可查看该文件夹下所以文件,包括隐藏文件(例如.DS_Store),隐藏文件前带黑点,正常文件不带黑点,如下

  • 相关阅读:
    Linux 使用Crontab设置定时调用Shell文件
    Oracle SqlDeveloper创建JOB
    数据仓库搭建步骤
    Linux学习内容
    Windows平台手动卸载Oracle Server【完整+干净】
    ORA-12638:身份证明检索失败
    成功数据迁移的详细步骤
    SQL Server 日期转换到字符串
    删除无用文件,清理硬盘
    KMS安装后激活机器
  • 原文地址:https://www.cnblogs.com/cdj61/p/13025794.html
Copyright © 2011-2022 走看看