相关疑难解决方法(0)

我可以将.git文件夹存储在我想要跟踪的文件之外吗?

我有一个不寻常的想法,使用git作为备份系统.所以,假设我有一个目录./backup/myfiles,我想用git备份它.为了保持清洁,我不想在myfiles文件夹中有一个.git目录,所以我想我可以创建./backup/git_repos/myfiles.从查看git文档,我试过这样做:

$ cd backup/myfiles
$ mkdir ../git_repos/myfiles
$ git --git-dir=../git_repos/myfiles init
Initialized empty Git repository in backup/git_repos/myfiles/
$ git --git-dir="../git_repos/myfiles/" add foo
fatal: pathspec 'foo' did not match any files
Run Code Online (Sandbox Code Playgroud)

您可以看到我到达的错误消息.我究竟做错了什么?

git

139
推荐指数
6
解决办法
5万
查看次数

两个不同的Git仓库在同一目录中

我想保留两个不同的git回购.repos应该保留在同一个根目录中.怎么实现呢?

我愿意的是:管理两个略有不同的回购.我可以在同一个文件夹中有两个完全不同的回购吗?

感谢关心:)

git

12
推荐指数
1
解决办法
1万
查看次数

是否可以在 git 中分别暂存多组更改?

这是一个关于我多年来使用 git 开发的经常使用的 git 工作流程的问题(请求建议)。

如果我对一个项目做了很多更改(多个文件中的多个更改),我经常会迭代所有的大块(使用 git gui)并决定我想要将哪些大块放在一起,然后通过一个提交和一个提交将多个大块一起提交描述性评论。然后我继续检查所有剩余的帅哥,再次将帅哥分组到一个共同的提交中。

但是经常出现的一个问题是,在第三次或第四次迭代时,我发现了一个应该在之前的提交之一中的块。在这种情况下,我暂时将暂存的更改提交到名为 TMP 的内容,提交有问题的块“修改”,然后继续暂存剩余的块,并使用消息“修改 TMP”进行评论。完成所有更改后,我返回并 rebase -i 并重新排序并适当地将“修改...”提交压缩在一起。

问: 有更好的方法吗?

我希望能够将这些帅哥一一地分成不同的场景。当所有内容都已暂存时,循环遍历暂存集,并通过适当的注释将它们一一提交。我还想在构建舞台布景时积累/编辑评论。

存在这样的功能吗?这叫什么?

一种可能性可能是允许将单个块附加到现有提交,然后对以后的提交进行变基,但以某种方式使工作区和暂存区实际上保持不变。

这个问题类似于如何在 Git 中创建多个阶段使用 git 将多个更改分解为单独的提交?但这些讨论并没有真正充分回答我的问题。是的,这是可能的,但似乎必须/应该有更好的方法。

git

12
推荐指数
1
解决办法
1936
查看次数

一个目录中有多个Git存储库

我想将目录部署到具有不同权限的多个开发人员.所以这是Git不能做的一件事.如何在一个目录中创建两个存储库并通过使用该.gitignore文件排除另一个存储库管理的文件来为它们分配不同的文件列表.

示例:/www/project/.git对于除此目录中的/www/project/css /www/project/css/.git- >仅文件之外的所有文件

有人试过这个解决方案吗?或者有没有更好的方法来处理这个问题?

git repository gitignore

9
推荐指数
2
解决办法
8696
查看次数

一个目录(同一级别)中的多个存储库 - 是否可能?

我最初的问题是我有一个编写各种脚本的目录.它们中的每一个都独立于其他人,通常是一个文件长.我想对它们应用一些版本控制,但我有以下问题/要求:

  1. 不想每个小脚本存储在一个单独的目录中!
  2. 不想将它们全部存储在一个存储库 OTOH中,因为它们完全不相关,并且:
    • 其中一些可能会后来增长到更多的文件(然后他们将需要一个单独的目录),
    • 我有时想将其中一个复制到另一台机器上(我想克隆整个仓库).
  3. 从(分布式)版本控制机制中受益 - 至少:
    • "无限"的修订数量,
    • 能够在不同的计算机上克隆存储库,
    • 能够进行"原子"多文件提交.

可能吗?
我更喜欢在一些主流的分布式VCS中使用它(使用Mercurial的解决方案会更好,但我不是固定的).

编辑:解决方案必须是免费的(至少"在啤酒中")和跨平台(至少是Win32和Linux).

相关,但没有帮助:

version-control

7
推荐指数
2
解决办法
3635
查看次数

多个git存储库克隆到同一目录中

我的项目有一个标准的存储库

/home/repo/.git  
Run Code Online (Sandbox Code Playgroud)

这是我克隆的存储库,以获取新网站的基本代码,即我克隆了这个

/var/www/site1
Run Code Online (Sandbox Code Playgroud)

我也有几个模块,我作为存储库创建,一些网站将使用这些模块,一些不会.

/home/modules/mod1/.git  
/home/modules/mod2/.git
Run Code Online (Sandbox Code Playgroud)

有没有办法可以将这些模块克隆到同一个站点文件夹中?

/var/www/site1  
Run Code Online (Sandbox Code Playgroud)

模块目录设置与主仓库具有相同的文件夹结构,当我在主仓库克隆顶部克隆它们时,它们应合并/替换现有文件.(很少有文件重叠)

我的最佳解决方案是以某种方式命名repo,以便在部署新站点时我执行以下操作:

cd /var/www/newsite  
git clone /home/repo/.git  
git clone /home/modules/mod1/.git  
git clone /home/moudles/mod2/.git  
Run Code Online (Sandbox Code Playgroud)

当我有更新到网站,我可以做一个像拉:

git pull origin master  
git pull mod1  
git pull mod2  
Run Code Online (Sandbox Code Playgroud)

或者最好:

git pull origin master 
Run Code Online (Sandbox Code Playgroud)

也会称之为拉动mod1mod2.

我一直在看git子模块和分支,但无法弄清楚它们是否是我需要的.

git multiple-repositories

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