【问题标题】:git svn workflow: how to use svn remote branches?git svn 工作流程:如何使用 svn 远程分支?
【发布时间】:2012-10-10 06:40:54
【问题描述】:

我已经使用 git 克隆了我的 svn repo,指定了分支和主干(不涉及标签)。然后,我运行 fetch 进行有限范围的修订。现在,我有:

$ git branch
* master

$ git branch -r
  version-2.3.1
  version-2.3.2
  version-2.3.3
  trunk

所以,我知道这些分支是远程分支,并且我确实阅读了 http://git-scm.com/book/en/Git-Branching-Remote-Branches ,但是因为远程分支对我来说是新的,所以我很难理解如何在 svn 上下文中使用这些知识。此链接上的一个人How to switch svn branches using git-svn? 说只是这样做:

git reset --hard remotes/branch
git checkout branch
etc

但是第二个命令“git checkout branch”不适用于我,因为我没有任何本地分支.....

所以,既然我有一堆与 svn 分支相对应的远程分支,那么“svn 切换”到其中一个分支、dcommit'ing、然后“svn 切换”返回的推荐工作流程是什么到不同的分支?我从不使用主干,我总是在分支上工作。

【问题讨论】:

    标签: git svn git-svn


    【解决方案1】:

    现在您在 master 分支中,您只需:

    git reset --hard version-2.3.3
    

    然后你的 master 分支与远程分支 version-2.3.3 相同。

    创建另一个分支:

    git checkout -b local-version-2.3.1
    git reset --hard version-2.3.1
    

    然后你新建一个分支,命名为:local-version-2.3.1,和远程分支version-2.3.1一样。

    祝你好运。

    【讨论】:

    • 当我“svn switch”时本地分支会被删除吗?
    • 一旦我创建了与每个​​远程分支对应的本地分支,我就不必再次运行git checkout -b local-version-X.Y.Z 命令了吗?
    • 如果你提交所有未提交的项目,你将不会被删除本地分支。
    • 其实你不明白什么是远程分支,远程分支是指你从远程克隆的一些分支,但是现在远程分支也在本地。你明白我的意思了吗?
    • git svn fetch 是否只在当前分支上工作?还是更新所有遥控器?
    猜你喜欢
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 2011-07-07
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多