Git 不会在分支签出时覆盖符号链接目录

Git 不会在分支签出时覆盖符号链接目录

如何使用 git 将目录设置为只读?

情况是 - 在项目中,我有一个共享框架的符号链接。我不希望它以任何方式被覆盖/更改(甚至不是 mtime 或 atime)。

我该怎么做——或者我从错误的角度看待这件事?

答案1

对于特定目录,这是不可能的(可能我不对)。例如,如果用户运行以下命令

git fetch --all
git reset --hard origin/master

或者

git reset --hard HEAD
git pull

欲了解详情,

Git 手册页可能会帮助你

答案2

首先这个问题可能更适合程序员SE。是的,我认为你从错误的角度看待它。

它基本上可以归结为依赖管理。您应该只使用您的语言/框架的常用工具来表达依赖关系,而不是复制/符号链接其他项目。

如果您确实需要/想要引用其他 git 存储库,您应该使用git submodule而不是需要到其他存储库的符号链接。

更好、更简洁的方法是使用发行版的包管理来进行依赖项管理,rpm或者dpkg只是让您的构建系统或工具来处理依赖项,例如:mavenbundlercartonopenembedded

相关内容