我在 svn 中有一个项目,设置为:
project
branches/
tags/
trunk/
我什么时候做
git svn clone -s -r ##:HEAD path/to/svn
我得到的是一系列文件和文件夹,我相信来自trunk
,当我做
git branch
当我看到master
和master
(clean
位于clean
下)
branches/
最近怎么回事?
如果我这样做:
git svn clone -r ##:HEAD path/to/svn
然后我得到了我的布局:
project
branches/
tags/
trunk/
但 git 无法识别branches
下的分支。此外trunk
也是branches
....
有什么想法吗?
答案 0 :(得分:3)
我相信您的分支机构已创建,但您没有看到它们,因为它们是远程分支机构。试试git branch -va
。例如,要使用这些远程分支,您可以创建一个本地分支:
$ git checkout -b working_from_branch -t clean remotes/branches/clean
答案 1 :(得分:2)
尝试以下命令:
git branch -r
...它应该显示此存储库知道的所有远程分支。假设你的分支/目录是扁平的(没有嵌套分支或分支层次结构),git svn clone -s应该自动识别它们。
这些没有出现在对git分支的默认响应中的原因是,直接在git中的远程分支上工作通常是不好的做法。当您将更改发送到远程存储库时,无论如何都将发送远程分支上的所有内容。通过签出本地跟踪分支,您可以选择删除提交(通过创建另一个本地跟踪分支,并复制您要发送的更改)。要创建跟踪分支,请使用:
git checkout -b master-mybranch -t mybranch
mybranch是您要跟踪的分支。我使用master- *作为我自己的约定,但你可以将跟踪分支命名为你喜欢的任何东西,只要它能帮助你记住它是什么。祝你好运!