为网站的git仓库设置项目目录结构

3
我正在开发一个Drupal网站。我一直在使用svn存储我的自定义模块,最近将其移植到GitHub上与另一位开发人员合作。
从SVN转换过来后,我通常可以直接从我的SVN存储库更新暂存网站上的自定义模块文件夹。但是根据我所读的(请纠正我如果我错了),使用Git无法完成此工作流程。
为Drupal Web项目设置存储库的推荐方式是什么?我应该将整个站点放入一个项目中进行版本控制(包括Drupal核心和贡献模块以及任何自定义代码),还是我可以继续只对自定义代码进行版本控制?
注意:
当前存储库的目录结构与网站的目录结构不同,因为我一直在重新修订我的自定义代码。
我在@Charles Bailey的回答建议中看到了可能适合我的方法"how-to-do-a-git-export-like-svn-export"
真正的问题是:
“我能否在保留代码仓库历史记录的前提下更改代码仓库的目录结构?”

我没有仔细查看git-archive的概要:

git archive [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>]
                     [-o | --output=<file>] [--worktree-attributes]
                     [--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>
                 [path...]

<tree-ish> [path] 明确表示我可以“归档”存储库的任何部分。 我感到困惑,因为我错误地认为我只能归档整个存储库。 因此,这种方法将替代我在SVN中能够做到的事情。 :)

1个回答

1

我的代码库目前与网站的结构不同,因为我一直在修改自己的定制代码。那么,在保持代码库历史记录的前提下,我是否可以更改代码库的目录结构? - dkinzer
为什么不继续将您的自定义代码保留在存储库中?我不明白为什么更改版本控制系统需要更改此操作。 - Jeremy French
我想我对tar的工作原理感到困惑。我假设被解压缩的内容需要与其目标位置具有相同的目录结构。这样理解是否正确? - dkinzer
这就是tar的工作原理,但如果你的git仓库结构与svn仓库相同,你可以以同样的方式提取。也许如果你在问题中发布你的仓库布局,我可以提供更具体的方法。 - Jeremy French
哇,我刚刚意识到git-archive比我想象的要强大得多。我实际上可以仅归档树结构的一部分。这将完全解决我的问题。:) 谢谢!git archive <tree-ish> > my_new_archive.tar - dkinzer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接