gpt4 book ai didi

svn - Git svn 工作流程,在 git-svn 中创建分支

转载 作者:太空狗 更新时间:2023-10-29 14:02:04 24 4
gpt4 key购买 nike

git version 1.7.3.3

我有一个使用 git 的项目。

我们公司改变了政策,希望每个人都改用svn。

所以我使用标准布局(主干、分支和标签)将我的项目导入到 subversion 中。

所以我目前的工作流程如下:

做一些改动,放到暂存区,然后提交到git。但是,当谈到 svn 时,我有点困惑。首先,我 rebase 以从颠覆中获取最新的变化。然后我做一个 dcommit。

暂存变更文件

git stage app_driver.c

将它们提交给 git

git commit -m"Added some changes"

从svn获取最新变化

git svn rebase

提交我最近的修改到svn

git svn dcommit

将更改推送到我的 git 存储库

git push upstream my_project

然而,真正的困惑出现在我在 git 中创建一个新分支时,以及我如何在 subversion 中提交到该分支。

git checkout -b add_new_feature

那我怎么在svn中新建分支并提交呢?

非常感谢您的任何建议,

最佳答案

我通常做的是使用 svn copy 在 subversion 中创建一个分支。

例如,假设我的行李箱在 https://svnserver/svn/MyProject/trunk我想在 https://svnserver/svn/MyProject/branches/my-branch 中创建一个分支,我会这样做:

svn copy https://svnserver/svn/MyProject/trunk https://svnserver/svn/MyProject/branches/my-branch

好的,这将摆脱创建 svn 分支,但要使用 git 获取此分支,我将转到我的目录并执行 git svn fetch。这将从 svn 获取内容,但不会修改您当前的分支。

如果您使用 git svn init --stdlayout 启动您的项目,您的分支将在您执行 git branch -r 时出现。然后你可以用这样的东西检查它:

git checkout -b my_local_branch_name my_remote_branch_name

注意:不要为本地分支和远程分支使用相同的名称,否则 git 会报错(尽管它可以工作。)

然后就可以正常工作了。

关于svn - Git svn 工作流程,在 git-svn 中创建分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4491258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com