新的 Git 用户在此。我想要使用 Git,但我处于 SVN 环境中。通过一些书籍和简单的实验,我遇到了一些麻烦的问题,希望能够澄清如何开始工作,而不会让我的同事想杀了我。
我想要的工作流程是:
- 一个主 Git 分支,与 SVN 的主干保持同步。 - 本地 Git 分支,用于处理我的特性和错误。 - 我希望经常将特性分支与主分支同步更新。 - 当我准备好时,我想将特性分支合并到主分支中,并将其提交回 SVN。
这是一个典型的工作流程吗?
最初我使用 git merge 合并我的主分支和特性分支。这导致了各种冲突和问题。后来我注意到应该避免使用 git merge,而应该坚持使用 git rebase。那么,以下 Git 命令是否正确呢?
- git svn rebase(拉取最新的主干更改) - git checkout -b myAwesomeFeature(创建一个特性分支进行工作) - ……进行一些工作,将更改提交到我的特性分支 - <<< 时间过去 >>> - git checkout master - git svn rebase(拉取新的内容) - git checkout myAwesomeFeature - git rebase master(将 SVN 主干的内容合并到我的特性分支中) - <<< 准备推送我的特性分支 >>> - git checkout master - git rebase myAwesomeFeature(快进主分支,以获得我的特性内容) - git svn dcommit(最终发布)
有什么建议或建议可以帮助一位渴望在 SVN 世界中使用 Git 的用户吗?谢谢。
我想要的工作流程是:
- 一个主 Git 分支,与 SVN 的主干保持同步。 - 本地 Git 分支,用于处理我的特性和错误。 - 我希望经常将特性分支与主分支同步更新。 - 当我准备好时,我想将特性分支合并到主分支中,并将其提交回 SVN。
这是一个典型的工作流程吗?
最初我使用 git merge 合并我的主分支和特性分支。这导致了各种冲突和问题。后来我注意到应该避免使用 git merge,而应该坚持使用 git rebase。那么,以下 Git 命令是否正确呢?
- git svn rebase(拉取最新的主干更改) - git checkout -b myAwesomeFeature(创建一个特性分支进行工作) - ……进行一些工作,将更改提交到我的特性分支 - <<< 时间过去 >>> - git checkout master - git svn rebase(拉取新的内容) - git checkout myAwesomeFeature - git rebase master(将 SVN 主干的内容合并到我的特性分支中) - <<< 准备推送我的特性分支 >>> - git checkout master - git rebase myAwesomeFeature(快进主分支,以获得我的特性内容) - git svn dcommit(最终发布)
有什么建议或建议可以帮助一位渴望在 SVN 世界中使用 Git 的用户吗?谢谢。
git merge
与git svn
。dcommit
将愉快地将具有多个父级的提交推送到子版本控制系统,尽管子版本控制系统只会将其视为常规提交,并包含来自分支的所有更改。一旦您开始在git中协作(例如逐渐切换),这甚至是唯一的方法。 - Jan Hudec