8

Git newb 问题在这里。来自 SVN,我可以在所有地方检查多个分支(“/www/project1”、“/users/project2”等),但都位于同一个存储库中。每个分支都有自己的提交、修订等。你们知道这笔交易。

在 Git 中是否有与此类似的方法,您可以在一个存储库中将目录/分支分布在各处?再次,抱歉新问题。试图对此有所了解。非常感谢您在此处提供的任何见解。

4

2 回答 2

4

通常,由于结帐和合并过程非常快,因此使用 Git 的开发人员会保留所有分支并在同一文件夹中切换它们。SVN 分支系统非常慢,而且不是很好,这就是为什么他们通常将它们保存在不同的文件夹中。

可以将分支检出到不同的文件夹:

git --work-tree=<path to target> --git-dir="<path from source>" checkout <reference-name>
# example:
git --work-tree=. --git-dir="/base-repo/.git" checkout master

但请注意,这个新文件夹不会被版本控制。要保持版本化,您可以在另一个文件夹中重新克隆 repo:

git clone path/to/local/repo/.git

请注意,在 git 中,每个克隆都是完整的 repo(与您的服务器和其他文件夹中的内容完全相同)。每个克隆都是完全独立的,可以从任何其他 repo 推/拉。

希望这可以帮助!

于 2013-01-15T20:17:05.827 回答
0

Git 是一个分布式控制版本。因此,您可以拥有本地分支和远程分支。要创建本地分支,请使用git branch namename 代表您的分支名称的命令。要查看所有本地分支,可以使用命令git branch。它将列出所有分支和当前分支。要在本地分支之间进行更改,请使用git checkout namename 代表您的分支名称的命令。

要将本地分支发送到远程存储库,请使用git push origin namename 代表分支名称的命令。要将本地分支复制到您的计算机,请使用命令git checkout -t origin/name.

于 2013-01-15T20:11:59.810 回答