You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跨系统操作同一Git仓库,专属不同步子文件夹会被误删吗?

结论

你Windows设备本地的WindowsOnly/子文件夹和filea.bat不会被删除,只要你在Linux端提交时不把该文件的删除变更纳入提交即可。

原因说明
  • Linux端git status显示的deleted: WindowsOnly/filea.bat只是Git对比本地工作区和仓库历史记录得出的未暂存变更,该变更不会自动进入提交。
  • 你在Linux端提交时,仅暂存Proj1目录下你修改的公共文件,最终生成的提交不会包含任何和WindowsOnly/相关的删除记录,推送至远程后也不会携带这类删除操作。
  • 后续Windows设备拉取代码时,只会同步提交中明确记录的变更,不会触碰提交未涉及的WindowsOnly/目录下的文件。
  • 仅当你不慎将WindowsOnly/filea.bat的删除变更暂存、提交并推送后,Windows端拉取代码时才会触发本地对应文件的删除。
优化方案(消除冗余的删除提示)

你可以通过配置Git忽略规则彻底解决两端交叉识别平台专属目录删除的问题,操作步骤如下:

  1. 在仓库根目录新建.gitignore文件,添加以下内容:
WindowsOnly/
LinuxOnly/
  1. 分别在两台设备执行对应命令,将已经入库的平台专属目录从Git追踪列表中移除(该操作不会删除本地实际文件):

Windows设备执行:
git rm --cached -r LinuxOnly/
Linux设备执行:
git rm --cached -r WindowsOnly/

  1. 将.gitignore文件和移除追踪的变更提交后推送到远程,之后两台设备执行git status都不会再出现对方平台专属目录的删除提示。

内容的提问来源于stack exchange,提问作者Tryer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 12:48:03