Git 如何处理符号链接?

2023-11-21

如果我有一个文件或目录是符号链接,并且我将其提交到 Git 存储库,那么它会发生什么情况?

我假设它会将其保留为符号链接,直到文件被删除,然后如果您从旧版本中拉回文件,它只会创建一个普通文件。

当我删除它引用的文件时它会做什么?它只是提交悬空链接吗?


From Linux 符号链接手册(假设你在 Linux 中):

符号链接是一种特殊类型的文件,其内容是一个字符串,该字符串是另一个文件(链接所引用的文件)的路径名。 (可以使用 readlink(2) 读取符号链接的内容。)

因此,符号链接是一个多文件,就像一个README.md or a Makefile。 Git 只是将链接的内容(即前面提到的链接到的文件系统对象的路径)存储在“blob”中,就像存储任何其他文件一样。然后,它将名称、模式和类型(包括它是符号链接的事实)存储在表示其包含目录的树对象中。

当您检出包含链接的树时,无论目标文件系统对象是否存在,它都会将该对象恢复为符号链接。

如果删除符号链接引用的文件,它不会以任何方式影响 Git 控制的符号链接。您将有一个悬空的参考。如果需要,用户可以删除或更改链接以指向有效的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git 如何处理符号链接? 的相关文章

  • git for-each-ref - 按年龄过滤结果

    我正在使用以下命令here https stackoverflow com a 39251131 5812876 git for each ref format color cyan authordate format m d Y I M
  • git 命令显示所有(轻量级)标签创建日期

    是否有一个衬垫可以向我显示所有 git 轻量级标签的创建日期 就像是 git show tags format date 我在这个发现link http osdir com ml git 2009 05 msg01404 html适合我需求
  • 本地git,推送到tfs远程repo

    我厌倦了向我的队友解释使用 DVCS 相对于 CVCS 的好处 他们中的一些人害怕学习曲线 另一些人则看不出任何原因 因为对他们来说 这都是一样的 就我个人而言 我对 TFS 及其问题感到非常厌倦 每当我需要进行一些小的 修复 时 我都必须
  • 使用 TortoiseGit 创建 git 克隆时出现 SSL 证书问题

    我想在 TortoiseGit 的帮助下克隆 git 存储库 但出现错误 错误 SSL 证书有问题 请验证 CA 证书是否正常 细节 错误 14090086 SSL 例程 SSL3 GET SERVER CERTIFICATE 访问时证书验
  • 从 master 更改为新的默认分支 git

    这是一个场景 我们有一个默认的分支 Master 我们以此为基础 创建分支并向上推等等 我们现在创建了一个Develop分支Master并将其设置为默认开发分支 我想知道的是 我现在如何知道我的 git pull 命令是否通过命令行请求默认
  • 如何标记单个文件?或如何下载特定文件? - 胃肠道

    我想向文件添加标签以轻松下载该文件而不是整个分支 如何下载GIT中的特定文件 我不知道有什么方法可以标记特定文件git 对于第二个问题 如何下载特定文件git 仅当您的意思是 同时下载 时 以下内容才有效in a git存储库 这就是我理解
  • 如何使用 sourceTree 进行推送?

    我正在使用 sourceTree 管理 Unity 项目 版本 4 6 3 我只是想返回到上一次提交 右键选择 将当前分支重置到此提交 在使用模式中选择 硬 然后放回上一次提交 之后 我尝试去推 但没有成功 抱歉 当时我忘记了错误 之后 我
  • 如何从 SVN 获取所有未版本化文件的列表?

    有时 您正在开发并决定提交 却忘记了您在项目中创建了一些文件 然后几天后 你的朋友从 Subversion 中得到了你的版本 并抱怨有些文件似乎丢失了 你意识到了 啊糟糕 我忘记添加那些文件了 如何从 Subversion 获取不受版本控制
  • 无法从我的电脑上使用 traefik 后面的 gitlab 进行 git 克隆

    这是我的 gitlab 和 traefik 配置 version 3 7 services gitlab web image gitlab gitlab ce latest restart always hostname gitlab ro
  • TeamCity 将功能分支推送到主分支

    有没有办法将成功构建的功能分支推送到另一个分支 我想要这样的东西 Git 存储库 Gitorious GitHub 等 分支机构 master 当前项目的代码 质量保证 代码等待 QA 的分支 功能分支 许多远程分支 开发人员可以在其中开发
  • 如何在Windows上分离“Git bash”中启动的“git gui”?

    例如 我开始 git bash 我导航到某个目录 I start git gui 我关闭控制台窗口或按 Ctrl C Git gui 的窗口消失了 即使我用过git gui disown 即使当我按 Ctrl C 时它不在前台 如何正确分离
  • 获取最新远程提交的 SHA1 [重复]

    这个问题在这里已经有答案了 可能的重复 git bash 如何检查是否有新的提交可用 https stackoverflow com questions 6006759 git bash how to check if theres a n
  • 如何升级 Windows 中 git svn 使用的 SVN 版本?

    我的公司正在将SVN升级到1 7 检查git svn version显示正在使用的SVN版本是1 4 6 我想获得 git svn 使用的 SVN 版本接近 1 7 但是 我没有看到有关更新 git svn 使用的 SVN 版本 在 Win
  • 在 Web 应用程序中显示最新的提交值?

    我有一些 Rails 应用程序 我使用 Git 作为版本控制系统 我使用 GitHub 或 Beanstalk 作为存储库主机 从理论上讲 我想要做的事情非常简单 以某种方式在 Web 应用程序的页脚中显示最新的提交 ID 号 哈希值 这样
  • 致命:不是 git 存储库(或任何父目录):.git [重复]

    这个问题在这里已经有答案了 当我尝试推送 github com 上的现有存储库时 当我输入命令时 网站提示我将其输入终端 我收到了以下致命错误消息 Not a git repository or any of the parent dire
  • 我在哪里? *(无分支)

    我已经熟悉了创建 合并和删除分支 我想知道我在哪里 这样我就不会将工作提交到错误的分支 我用git branch a看看我有哪些分支 我认为星号 显示我当前所在的分支 当我得到以下信息时 这意味着什么 no branch master or
  • 从自己的 gitlab 服务器安装节点模块

    我想从我们的 gitlab 服务器安装节点模块 这是存储库的链接 http ABCD GITLAB myGroup myNodeModule git http ABCD GITLAB myGroup myNodeModule git 根据n
  • 您的分支比“origin/master”领先 3 个提交

    我在运行时收到以下信息git status Your branch is ahead of origin master by 3 commits 我读过其他一些帖子 解决这个问题的方法是运行git pull rebase但是 rebase
  • 我可以忽略全局 .gitignore 吗?

    我的全局 gitignore 一般都很棒 但对于这个一次性项目 我不希望应用全局规则 如何删除这个怪异存储库的全局 gitignore 规则 在您的存储库中运行此命令 git config local core excludesfile f
  • 如何让 Gitlab 运行程序在成功构建时将代码合并到分支中

    嗯 标题几乎是不言自明的 总之 如果构建成功 我希望将一个分支 即开发 合并到另一个分支 即生产 我尝试了 jakub kania 解决方案 但我总是得到id rsa invalid format 我认为 gitlab 秘密变量以某种方式被

随机推荐

  • 在 Eclipse 中调试 Playframework 2.0

    在 play eclipsify 之后 项目文件夹中没有 eclipse 文件夹 如何使用 eclipse 和 JPDA 来调试这个项目 从 play 2 0 开始 调试项目唯一需要做的就是在控制台 play debug run 中运行项目
  • 如何调用分配给变量的javascript函数?

    function test1 do something 要调用上面的函数 我只需要写test1 var check day function select d do something 如何调用分配给变量的函数 同样的方式 使用括号调用函数
  • 谷歌地图的标记未在 iframe 中居中

    我对在 iframe 中打开谷歌地图有一点奇怪的要求 我有地址 我用它来传递并将其转换为谷歌地图 但问题是我的 iframe 的大小是 200 200 所以标记没有居中 另一个问题是标记信息窗口也会在几秒钟后弹出 这使我的标记超出框架边界
  • 将骨干模型绑定到 Marionette ItemView - 阻塞 .fetch()?

    这是一个由 2 部分组成的问题 1 是否有更好的方法将模型异步渲染到视图 我目前正在使用 ajax 请求fetch模型中的方法 尽管我在初始化时显式调用它 then使用应用程序事件呈现模板化视图 vent 在之后从模型内部发布parse方法
  • 如何制作带有图像填充的JLabel BorderLayout.CENTER

    我有一个 JFrame 并将 LayoutManager 设置为 BorderLayout 然后继续添加带有图像的 JLabel 但是 当我调整框架大小时 JLabel 不会调整大小 我没有向North S E等添加任何组件 我希望简单地让
  • 如何在 Gridview 中的 RowDataBound 事件中更改 Eval() 字段的值

    我有一个网格视图
  • 处理与 Django 中的应用程序无关的静态文件

    在文档中https docs djangoproject com en dev howto static files 我读到静态文件应该与各自的应用程序放在一起并调用 load staticfiles img src css base cs
  • requestLegacyExternalStorage 在 Android 11 - API 30 中不起作用

    Google 最近在 API 29 中引入了一些与存储 API 相关的更改 例如范围存储 我们通过在 Manifest 中添加 requestLegacyExternalStorage true 来选择退出 但现在当我的 targetSdk
  • 如何提高 JAXB 性能?

    这是我的转换代码 当我们处理大数据时 这需要很长时间 调用该方法几乎一百万次 我们可以清楚地看到它持有线程一段时间 请建议我一些提高性能的方法 public class GenericObjectXMLConverter
  • Scala 类型推理混乱:有还是没有?

    原始版本 trait Animal F A case class Cat F I A limits F I f I gt A extends Animal F A object ConfuseMe def confuse F A tt An
  • 使用转换器直接绑定到 DataContext 时的 WPF 更新绑定

    通常 当您希望数据绑定控件 更新 时 您可以使用 PropertyChanged 事件向界面发出信号 表明数据已在后台发生更改 例如 您可以有一个文本块 该文本块通过属性 DisplayText 绑定到数据上下文
  • 操作/编辑现有 xml 文档的最佳 java Xml 解析器

    任务 我有一个现有的 xml 文档 UTF 8 它使用 xml 命名空间和 xml 模式 我需要解析特定元素 将内容 还需要使用 xml 命名空间前缀 附加到该元素 然后再次写出文档 我应该使用哪个最佳的 XML 解析器库来完成此任务 我看
  • JSONObject 中的 JSONObject

    我有一个这样的 API 输出 user status stat1 54 stats2 87 我创建一个简单的JSONObject从这个 API 中 JSONObject json getJSONfromURL URL 之后我可以像这样读取用
  • 使用 Swift 执行“killall”时不允许进行操作

    我正在尝试创建一个菜单栏应用程序来隐藏桌面图标 并希望其他各种东西主要是为了了解有关 Swift 的更多信息 但由于某种原因我无法让它工作 当我运行该程序并单击其中一个菜单项时 没有任何反应 并且我在控制台中收到此警告 killall wa
  • 如何在 Vim 中每次按键时将当前缓冲区的内容写回文件?

    我希望 Vim 尽可能频繁地自动写入我的文件 理想的情况是每次击键 我需要定期保存 以便我的后台构建过程能够看到它 它是 LaTeX 文档的 makefile 我希望预览器在我完成输入后向我显示一个几乎最新的文档 最终解决方案 下面的答案有
  • genymotion player.exe 停止工作

    当我尝试启动 genymotion Android 模拟器时 它给我一个错误 player exe 已停止工作我尝试寻找答案并发现this但是 我之前遇到了 open gl 2 0 问题 为此我更新了显卡驱动程序 我的主板是华硕 P5G41
  • 更新 matplotlib 动画中的 x 轴标签

    这是一段说明我的问题的玩具代码 import numpy as np import matplotlib pyplot as plt from matplotlib animation import FuncAnimation fig ax
  • 在字符串中每 3 个字符后插入句点

    我有这个 from future import print function def f comma p string v string p string if type v string type int or type v string
  • 为什么要写 `window[ "eval" ].call( window, data );`

    jQuery 1 7rc1 第 614 行 window eval call window data 为什么不简单地写 eval call window data 答案在这里 解码 jQuery Jim Driscoll 发现对于更尊重标准
  • Git 如何处理符号链接?

    如果我有一个文件或目录是符号链接 并且我将其提交到 Git 存储库 那么它会发生什么情况 我假设它会将其保留为符号链接 直到文件被删除 然后如果您从旧版本中拉回文件 它只会创建一个普通文件 当我删除它引用的文件时它会做什么 它只是提交悬空链