Git newb问题在这里。来自SVN,在那里我可以有多个分支检出所有的地方(“/ www / project1”,“/ users / project2”等),但都存在于同一个存储库中。每个分支都有它自己的提交,修改等。你们知道这笔交易。
在Git中是否有类似的方法,你可以在一个仓库中的目录/分支遍布各地?再次,抱歉新问题。试图在这个问题上取得成功。非常感谢您提供的任何见解。
答案 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
。