[Update]
更详细地说,我尝试在家使用纯 Git 的原因是,我的公司希望迁移到 Git,但经理不愿意进行更改,因为开发人员不了解我们自己的存储库上的 Git。所以,我尝试做的是,我尝试让每个人都使用 Pure git,同时有人可以在这个学习阶段合并回 Subversion。因此,在任何紧急情况下,他们仍然可以使用 Subversion。
所以,在大家熟悉Git之前,我无法将存储库转移到使用纯Git。因此,它将同时更新 Subversion 和 Git。 (现在的主要存储库是 Subversion)。因此,我尝试通过 dcommit 回 Subversion 同步存储库,从而使 Git 能够顺利工作。
[问题]
我所在的组织使用 Subversion 作为存储库,因此我将其转储为我的个人 Git(并计划将来使用 Git 替换 Subversion)
现在,我有使用两者的存储库Git and 颠覆(主要来源)。我有一个问题要处理git svn 变基当我必须同时使用 git 和 subversion 时。
我的工作流程如下
在办公室
- 存储库有 Git-svn 接口
- 我总是将代码提交到 Subversiongit svn dcommit从这里。
- 我推送到 Bitbucket 上的远程 git 存储库
At Home
- 我从 Bitbucket 克隆存储库
- 与 Bitbucket 合作并致力于此
现在,回到办公室
- git拉
- git svn 变基
- git svn dcommit
- git 推送
在步骤 4 中,我遇到了一个问题,我已经重新调整了我的分支
现在问题就在这里,当我回到家时
当我回到家时,我无法使用“git fetch”,因为分支已经重新定位。所以,我必须删除分支git 分支 -D .....进而git 结账 again.
所以,我寻找一种方法,我们可以同时使用 Git 存储库和 Subversion,并在完成操作后与 Git 顺利进行git svn 变基 or git svn dcommit.
笔记。我不会更喜欢使用任何git-svn在家里。尝试继续仅使用 Git。
我认为你的问题的主要原因是git svn dcommit
更改提交消息以包含 SVN 提交数据。由于消息包含在提交的 SHA1 中,因此此更改在 git 看来是完全不同的提交。
我的解决方案是在你的办公室仓库中建立一个分支,与 SVN 同步,并在另一个(纯 git)分支中完成你的工作。每当你想与 SVN 仓库交换某些内容时,你可以在其中一个或其他方向。
就我而言,我设置了另一个专门用于 SVN 交换的 git 存储库。我有一个 cron 作业,每 15 分钟与 SVN 服务器同步该存储库。这样我就不会错过git svn rebase
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)