单个Git仓库,包含多个位置的目录

时间:2013-01-15 20:05:03

标签: git

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

在Git中是否有类似的方法,你可以在一个仓库中的目录/分支遍布各地?再次,抱歉新问题。试图在这个问题上取得成功。非常感谢您提供的任何见解。

2 个答案:

答案 0 :(得分: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(与服务器和其他文件夹中完全相同)。每个克隆都是完全独立的,可以从任何其他仓库中推/拉。

希望这有帮助!

答案 1 :(得分:0)

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

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