我有一个通过 git svn clone 创建的 svn 存储库的 git checkout。我对我的本地 git 存储库进行了一系列复杂的更改,我正在延迟推送到中央 svn 存储库。我想将一个小改动推送到一个文件。当使用 svn 客户端时,我会做
svn commit foobar.c
有没有办法用 git 获得类似的功能?
只要你没有dcommit任何东西,你就完全可以使用 Git 提供的任何东西,包括分支和变基。因此,您可能想要做的是从当前的 SVN 版本 ( git branch <name> remotes/trunk
) 中创建一个分支并暂时处理它。然后,您可以像以前一样提交这些更改。
然后,要继续进行其他更改,您可以重新设置它们以匹配您在使用git rebase remotes/trunk
. 然后,您将回到线性历史,并在两者之间进行稍后的提交,并继续开发您的新功能。
简单的。
解决方案一: git 中未提交的任何内容都可以隐藏起来。dcommitting 时不允许有未提交的文件。
解决方案二:在您现在所在的位置创建一个新分支。将主分支重置为您从 SVN git 的最后一次提交。将文件提交到 git 内的 master 分支。D提交到SVN。在 dcommit 之后将创建的新分支重新定位到新的 master 上。
任何问题?在这里使用图形工具将有很大帮助...