相关疑难解决方法(0)

组合多个git存储库

假设我的设置看起来很像

phd/code/
phd/figures/
phd/thesis/
Run Code Online (Sandbox Code Playgroud)

由于历史原因,这些都有自己的git存储库.但我想将它们合并为一个,以简化一些事情.例如,现在我可能会进行两组更改,并且必须执行类似的操作

cd phd/code
git commit 
cd ../figures
git commit
Run Code Online (Sandbox Code Playgroud)

表演(现在)很棒

cd phd
git commit
Run Code Online (Sandbox Code Playgroud)

似乎有几种方法可以使用子模块或从我的子存储库中提取,但这比我正在寻找的要复杂一些.至少,我很高兴

cd phd
git init
git add [[everything that's already in my other repositories]]
Run Code Online (Sandbox Code Playgroud)

但这似乎不是一个单行.有什么git可以帮助我吗?

git

203
推荐指数
8
解决办法
7万
查看次数

创建一个包含另一个git存储库的git存储库

我创建了一个简单的git repo(让我们称之为repo#1)并克隆它.

  • 在克隆(repo#2)中,我创建了几个文件夹,其中一个我决定制作一个git repo(repo#3).
  • 当我提交回购#2时,一切都按预期运行,而忽略了回购#3(.git文件夹,文件提交).

如何将repo#3添加到repo#2中,这样当我将repo#2推送到repo#1时,我可以单独复制repo#1,我还可以访问repo#3的历史记录等.

换一种说法.如何创建包含另一个git存储库的git存储库?

git version-control

5
推荐指数
2
解决办法
1692
查看次数

哪个版本控制系统或平台是跟踪和分发个人Emacs配置的最佳版本?

我目前使用subversion来跟踪我对Emacs的配置更改,并将我的'.emacs.d'目录同步到不同的平台.

许多软件包如Ido,Muse或Org-mode都是Emacs发行版的一部分,它们附带Debian或Carbon Emacs(osx).但是我也使用的其他软件包不属于这些发行版,因此我必须手动将它们添加到我的个人subversion存储库中.

优点是我现在可以在任何我想要工作的地方查看我的整个'.emacs.d'配置.缺点是我必须跟踪这些包的更新,每次有新的更新时我都必须手动更新我自己的存储库.

是否有更好的方法将我自己的配置和包与"社区"的配置和包集成?我意识到github.com被许多人用于这个原因.

我应该更好地使用git而不是subversion来同步和共享我的Emacs配置与社区的配置吗?这是否意味着我应该更好地切换到github.com而不是使用我自己的subversion服务器来更接近其他有关交换和分发的Emacs用户?

svn git emacs github

5
推荐指数
1
解决办法
331
查看次数

你如何结合两个git回购?

我有一个与我合作的主回购(回购1).我有另一个需要适应第一个的回购(回购2),我不知道如何将它们放在同一个文件夹中.我的想法是,我在每个项目中都有一个标准的代码库 - 但每个项目都是它自己的git repo.

/project
    /.git(repo 2)
    /.git(repo 1)
    /repo_2_sub
        /repo_2_sub_sub
            /repo_1_sub_sub
    /repo_1_sub
        /repo_1_sub_sub
        /repo_2_sub_sub
Run Code Online (Sandbox Code Playgroud)

没有文件重叠 - 但有些文件夹结构.所以有时来自一个仓库的某些文件夹将在另一个仓库中.

我如何工作,以便这两个存储库构建完整的代码库?

UPDATE

两个git repos都存在于同一个根项目文件夹级别.它们不能是子模块,因为它们如上所示来回穿过彼此.它们不是单独的文件夹.

更新2

等等,也许这比我想象的要容易.你可以克隆一个标准的代码库repo,然后创建一个新的分支,这是你的项目,然后每次更改时,只是继续将该分支与codebase repo合并?

git

5
推荐指数
1
解决办法
1526
查看次数

标签 统计

git ×4

emacs ×1

github ×1

svn ×1

version-control ×1