- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个像这样的 git repo 结构-
main-repo
-file1
-file2
我想把它转换成类似的东西-
main-repo
-javascript
-file1
-file2
然后用另一种语言添加另一个仓库
main-repo
-javascript
-file1
-file2
-python
-file1
-file2
鉴于我已经有多个提交并且测试在 travis.yml 中配置为在推送到 master 时运行,该怎么做。
最佳答案
I have a git repo structure like this- … I want to convert it to something like- …
在存储库中移动文件没有错。然而,即使 Git 可以自动检测文件移动(因为一些会消失而另一些会出现,具有完全相同的内容),有一个专门的命令可以这样做:
git mv <source> <destination>
文件将自动移动,这将显示在 git status
的报告中。因此,您需要提交记录。
这样做总是一个好主意,因为如果不是真的需要,人们总是希望避免重命名/移动 git 存储库中的文件。这是因为它打破了这些给定文件的历史连续性并使它们难以追溯。
每个提交都应该独立于其他提交,即使每个提交都引用前一个(或 merge 时的前一个)。它们基本上是一个完全限定文件名的列表,每个文件名都指向它们各自的内容,这使您能够轻松地比较(使用 git diff
)图中任何两个提交。
这真的很强大,但缺点是 git 依赖文件名来知道比较什么。如果在一次提交和下一次提交之间只有少数名称发生变化,git 会猜测它们实际上是哪些。但是如果你同时引入文件更改和名称重命名,或者如果你重命名一个文件并创建另一个具有相同内容的文件,它就会混淆。
通过使用 git mv
,您可以让 Git 有机会存储所有需要的信息以帮助它完成此任务。此外,在其他一些工作方式不同的 SCM 中,这可能是强制性的。
and then later on add another repo in another language like
这没什么特别的。只需像开始时那样添加额外的内容(不过不要忘记提交),但请注意 Git 无法处理空目录。所以你需要在你的“python”目录中添加至少一个文件。这也意味着一旦您删除了给定目录中的最后一个文件,该目录本身也会在下次 checkout 时自动消失。不要对此感到惊讶。
这是因为,如前所述,Git 只考虑文件(即使它仍然能够处理符号链接(symbolic link)和特殊文件)并通过维护完全限定的文件名(例如“/目录名/基名”)。因此它无法处理末尾没有叶子的分支。
此外,如果您的“javascript”和“python”目录没有任何关系(没有给定独特项目的部分),您最好将它们变成多个独立的 git 存储库。请记住,您始终可以使用 git init
初始化一个新的存储库,即使其中已经有一些东西。
最后,当您想要在更大的存储库中创建一个存储库时,例如公开共享小存储库同时保留一些关于它的附加信息,或者在处理一个大项目时其中一个存储库它的库本身就是一个项目,你会想检查 git submodule
,但不是今天。 :)
关于git - 重组 git repo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52098359/
采用这个 repo 结构: Server (main repo) ProjectA (subrepo) SharedLibrary (subrepo) Client (main rep
我们正在尝试使用 https://grails.org/plugin/jms用于 jms 集成。但我们无法解决它。 环顾四周,我能够验证它是否存在于这个 repo 中: http://repo.gra
是否可以在现有的 Mercurial 存储库中创建 Mercurial 存储库? 这个想法是将存储库的子目录作为不同的存储库进行处理,你是如何做到的? 我不是在谈论子存储库(至少,如果我理解子存储库的
这个问题在这里已经有了答案: How do I work with a git repository within another repository? (5 个答案) 关闭 6 年前。 我想克隆
我在尝试让 ssh 在 GIT 中工作时犯了一个灾难性的错误。 我实际上将错误的 url 从服务器复制到该存储库的配置文件中。因此,我放入配置文件的 url 是一个不同但名称相似的 repo。 现在,
我们在 github 上有数百个不再使用的存档库。 默认情况下,Github 上没有 stash 存档仓库的选项。目前,通过 active repos 是不友好的,尤其是在 github 上大量滚动。
在 .repo文件: [centos] name=centos7.2 baseurl=http://10.0.0.1/centos7.2/7.2/xxx/x86_64/ enabled=
一位同事使用 repo start 创建了功能分支 thebranch。现在我想检查这个分支并对其进行处理。我试试这个: repo init -u git@gitserver:manifest.git
我在github上托管了一个项目,结构如下 github.com/example/allpackages . ├── .git └── packages ├── example-1 ├
我在github上托管了一个项目,结构如下 github.com/example/allpackages . ├── .git └── packages ├── example-1 ├
我们可以使用 hg in -vp 将我们的本地仓库与主仓库进行比较。 如何在视觉上做到这一点?我们使用 ExamDiff extension作为我们的 Mercurial 视觉差异工具。我们认为有一种
我有一个 repo 镜像服务器 (myrepo),最初创建它是为了镜像和与远程同步(repoA)。也就是说,我使用了类似下面的东西来创建它。 cd myrepo repo init -u git://
我镜像了https://github.com/boostorg/boost.git使用命令到我自己的存储库: git clone --recursive https://github.com/boos
来自 Viewing Unpushed Git Commits我知道如何区分我自己的 repo 和本地提交: git diff origin/master..HEAD 但是,我怎样才能使用 path/
我已将我的应用程序源 (git repo) 存储在文件夹中: MyProject/front_app 但在 GitHub 上,我希望将存储库命名为 front_app 而不是 my_project_f
我有一个 repo1和 repo2在本地机器上。它们非常相似,但后者是某种其他分支(不再维护 repo1)。 /path/to/repo1 $ git log HEAD~5..HEAD~4 Add:
我在 Mac OS X (10.7.3)、x64 Intel 上更新我的 Android 源代码树时遇到问题。代码是根据 Downloading the Source Tree 安装的, 并且 SE
我有两个位于不同服务器上的存储库,分别称为 repo-1 和 repo-2。 开始两个“树干”是平等的: repo-1/trunk == repo-2/trunk 与此同时,正在向 repo-1/tr
我大约在 6 个月前加入,当我到达时,我的团队没有使用任何形式的版本控制。我已经说服 mgmt 在新项目中使用 Mercurial,所以我们在我们的网络服务器上有以下结构: -MainFolder (
我正在尝试从包含通常结构(分支、标签和主干)的 repoA 迁移到仅在主干中具有子文件夹的现有 RepoB,该 RepoB 在分支、标签和主干中具有项目和代码。 我有一个通过代码创建的转储文件: sv
我是一名优秀的程序员,十分优秀!