我们的开发人员使用基于Windows和Unix的操作系统.因此,在Unix机器上创建的符号链接成为Windows开发人员的问题.在windows(msysgit)中,符号链接将转换为文本文件,其中包含指向其所指向文件的路径.相反,我想将符号链接转换为实际的Windows符号链接.
我需要的(更新的)解决方案是:
我没有实现这个,但我相信这是解决这个问题的可靠方法.
问题:
在git中是否可以在git仓库中拥有指向特定文件的"链接"?就像git子模块对文件夹所做的那样,但我的问题是关于特定文件,而不是完整目录:
my-project/
class1.java
class2.java
logback.xml (link to a particular file, say https://github.com/theHilikus/JRoboCom/blob/master/jrobocom-core/src/main/resources/logback.xml)
Run Code Online (Sandbox Code Playgroud)
可以看出,在这种情况下,拥有一个完整的子模块文件夹是没有意义的,它只是一个文件.
我很好,链接被锁定到一个特定的提交,但如果它在它自己的项目的生命周期中发生变化,它会更好
需要注意的是,这与文件系统的符号链接无关; 我在谈论对另一个项目,repo,branch或任何东西中的文件的引用.如果文件的内容是重复的而不是文件系统符号链接,那就没问题
所以,我有一个更大的(闭源)项目,并且在这个项目的上下文中创建了一个在其他地方也可以使用的库,我想.
我现在想要在自己的项目中拆分库,它可以作为github或类似的开源.当然,图书馆(及其历史)应该不包含我们项目的痕迹.
git-subtree在这里似乎是一个解决方案,但它并不完全适合.
我的目录布局是这样的(因为它是一个Java项目):
拆分后,我希望库的目录布局如下所示(包括直接在粗体目录中的任何文件):
历史记录还应该只包含主项目历史中涉及存储库这一部分的部分.
第一眼看到了我git-subtree split --prefix=src/de/fencing_ame/transport,但这会
transport(不会编译)和transport/client,transport/server和transport/fencing目录.第一点可以通过git subtree add --prefix=src/de/fencing_ame/transport <commit>在接收端使用来缓解,但我不认为git-subtree可以对导出这些子目录做很多事情.(这个想法真的是只能在这里分享完整的树).
我必须在git filter-branch这里使用吗?
拆分后,我希望能够导入回库在我的主要项目中,无论是使用Git树或混帐子模块,在一个单独的子目录,而不是它现在是.我想象这样的布局
我正在编写一个代码片段,它必须跨多个主题.
假设我有三个主题:
每个主题都有一个名为"snippets"的文件夹,我将代码片段放在那里.
每个主题的"code.html"文件都完全相同.我在它自己的GitHub仓库中跟踪它,然后复制并粘贴到每个主题仓库.
如何在一个位置编辑此代码段并确保它在所有主题中都得到更新?我正在寻找一种可扩展的方法,一旦主题数量可能增长到20-30.
在我的情况下,我有更多的文件然后一个例子与"code.html" - 他们在两个文件夹,总量大约是10.
我正在阅读关于Git子模块的内容,但我不相信它们适合我的问题.我不确定这个问题是否与Git有关,对不起.
PS我正在研究SaaS - 确切地说是Shopify.因此,在这种情况下,任何类型的PHP技巧都不起作用.我需要在本地以某种方式处理文件.
编辑:现实生活中的例子:
我有这4个文件:
{{ theme }}/snippets/file1.liquid
{{ theme }}/snippets/file2.liquid
{{ theme }}/assets/file3.liquid
{{ theme }}/assets/file4.liquid
Run Code Online (Sandbox Code Playgroud)
我无法创建子目录或其他目录.
我想dockerfiles在GitHub上创建一个存储库以集中Dockerfile我到目前为止创建的所有自定义代码。我还想独立地自动在Docker Hub上自动化每个映像的构建。
GitHub上有很多这样的存储库:
(我不会在这里谈论最繁星的存储库:https : //github.com/jessfraz/dockerfiles,因为正如您在Docker Hub上看到的那样,这些不是自动构建)
dockerfiles存储库结构我希望我的dockerfilesGitHub存储库具有以下结构(分支master),基于上面提到的GitHub存储库:
dockerfiles (GitHub repo)
|- docker-image-1
|- Dockerfile
|- docker-image-2
|- Dockerfile
|- ...
Run Code Online (Sandbox Code Playgroud)
在Docker Hub上,我可以创建2个公共自动化构建版本:docker-image-1和docker-image-2,都引用我的dockerfilesGitHub存储库,但是构建设置不同(实际上,只有Dockerfile位置不同):
docker-image-1:
docker-image-2: