dcom只使用git-svn指定某个本地(即git)分支

时间:2014-07-11 06:49:36

标签: git svn git-svn git-branch

我正在使用git开发,但我必须通过svn发布。 这就是我设置git-svngit svn clone)的原因。

我通常的工作流程是这样的:

git svn rebase  # get local git repository up-to-date
git add file    # add some code
git commit      # commit code to local git repository
git svn dcommit # push changes from local git repository to public svn repository

到目前为止一切正常。

但是,我想在我的本地secret存储库中创建一个分支(例如git),git-svn完全忽略该分支。

我想我必须做这样的事情:

git svn rebase      # get local git repository up-to-date
git branch secret   # create secret branch in local git repository
git checkout secret # switch to secret branch in local git repository
git add secret.file # add some secret code
git commit          # commit secret code to secret branch of local git repository
git checkout master # switch back to public branch in local git repository
git svn rebase      # get public branch of local git repository up-to-date
git add public.file # add some public code
git commit          # commit public code to public branch of local git repository
git svn dcommit     # push public changes from local git repository to public svn repository

此工作流程是否会secret.file完全隐藏svn? 如果是这样,我想我可以git mergemaster git svn dcommit svn改为master一旦它获得'未分类' 。这是对的吗?

另外,为清楚起见,是否可以将public重命名为{{1}}? 如果是这样,怎么样?请注意,两个存储库中的分支已有历史记录。

1 个答案:

答案 0 :(得分:1)

是的,您的秘密更改将保留在您的本地git中,直到您执行git checkout secret && git svn dcommit或将您的更改合并到其他分支(master / public)并从那里进行dcommit。

您可以简单地开始公开,而不是将master重命名为public。 git checkout master git checkout -b public git commit, etc... git svn dcommit 分支机构将“记住”他们从中开始的svn分支,您可以随时使用git svn info进行检查。切换到公共后,您可以选择删除master:git branch -D master