我有一个项目,用于在路径中包含子模块mysubmodule.我从源代码(1.8.3-rc2)安装了最新的Git并运行git submodule deinit mysubmodule.然后我删除了.gitmodules文件并提交了更改.我还.git从mysubmodule文件夹中删除了该目录.
我现在想mysubmodule直接将文件提交到我的仓库,但是git说没有变化.如果我输入git add mysubmodule它什么都不做.如果我输入git add mysubmodule/file.txt它说fatal: Path 'mysubmodule/file.txt' is in submodule 'mysubmodule'
我还发现,如果您查看一个新版本的repo,它会创建一个mysubmodule目录,尽管没有.gitmodules文件.跑步git submodule init会给你一个No submodule mapping found in .gitmodules for path 'mysubmodule'错误.
我该如何解决?
我在我正在使用的脚本中看到了这一行:
git config core.worktree ..
Run Code Online (Sandbox Code Playgroud)
我不确定 git worktree 做什么,但我绝对不明白为什么将其设置为..
有什么线索吗?谢谢
我有一个Git项目.我们来说吧Proj.
Proj有两个子模块,Lib和Utils.
Lib也有子模块Utils.
现在问题是,当一个人想要时git clone --recursive Proj,他将需要下载Utils两次.当项目进展得更深时,情况可能会更糟.
那么如何Proj重新使用Utils已经下载的Lib?
我的工作树:
Proj # Main project
+-- .git
`-- external
+-- Lib # Proj depends on Lib
| +-- .git
| `-- external
| `-- Utils # Lib depends on Utils
| `-- .git
`-- Utils # Proj also depends on Utils
`-- .git
Run Code Online (Sandbox Code Playgroud)
注意:
最好Utils留在external/Utils.
由于Windows兼容性,不允许使用符号链接.
如果有人能帮我解决这么复杂的问题,我将不胜感激.
我有 2 个 Vue 应用程序,它们都需要使用一些常见的页面和资产(scss 文件、图标等)。
他们需要共享的页面是可以访问 vuex 存储和异步调用的完整页面。
我认为要做的是创建一个单一的 vue 应用程序(使用 cli)并将两个应用程序放入其中并有一个共享文件夹:
vue-project
- src
- app1
- app2
- shared
Run Code Online (Sandbox Code Playgroud)
但后来我遇到了一个问题:如何分别构建/运行每个应用程序?
我有两个代码库一个和乙,并已开始开发一个应用程序中号.所有这三个都存储在自己的存储库中.
我的问题是,我有一个依赖关系,使得一个使用子模块乙,但中号同时使用子模块一和乙.
据我所知,我将为同一个主项目提供相同子模块B的两个副本.但是它们在这个设置中永远不会有意义,因为它们在同一个应用程序中代表相同的库.
有没有办法解决这个问题,所以当我在M上工作时,我只有A和B的一个副本?
假设我有一个库Common,可以使用独立的,并且所使用的项目P1和P2,因此,树我想要的样子
/Common/.git
...
/P1/.git
.gitmodules # points to remote server
Common/
...
/P2/.git
.gitmodules # points to remote server
Common/
...
Run Code Online (Sandbox Code Playgroud)
当我进行更改时/Common,我希望能够在提交之前P1和P2之前测试它.使用通常的git submodule命令集,我将不得不提交/Common,推送到远程,然后从两个/P1/Common和/P2/Common.如果提交中断了某些内容,则无法修改,因为已经发布了错误的更改.或者,我可以git remote add quicktest /Common在/P?/Common不触摸远程服务器的情况下拉动.但是这有很多不一致的机会,并且删除破坏的提交是很脏的,/P?/Common以便可以修改它们/Common.
我宁愿认为,在开发过程中,从工作树/Common被使用P1和P2,但我不能让/P1/Common一个符号链接/Common,因为git submodule识别符号链接从目录不同.大多数文件系统不允许使用硬链接目录.我可以使用硬链接所有文件
rm -rf /P1/Common
cp -rl /Common /P1/Common
Run Code Online (Sandbox Code Playgroud)
/Common在添加新文件之前效果很好,在这种情况下需要重复此过程.两者都有优雅的方式吗?
git …简而言之,这是我的项目结构:
+ A
| + some content
|
+ B
+ A
Run Code Online (Sandbox Code Playgroud)
我希望在我的主 git 存储库中有一个B指向A. 但由于该A项目包含 main 方法,我希望能够在提交之前快速测试,因此我想要一个指向的符号链接(或者更确切地说,mklink因为我在 Windows 上)A,以便它无需提交即可更新。
git ×6
config ×1
git-worktree ×1
mklink ×1
repository ×1
symlink ×1
vue-cli-3 ×1
vue.js ×1
windows ×1