0

我有一个通过 git svn clone 创建的 svn 存储库的 git checkout。我对我的本地 git 存储库进行了一系列复杂的更改,我正在延迟推送到中央 svn 存储库。我想将一个小改动推送到一个文件。当使用 svn 客户端时,我会做

svn commit foobar.c

有没有办法用 git 获得类似的功能?

4

2 回答 2

1

只要你没有dcommit任何东西,你就完全可以使用 Git 提供的任何东西,包括分支和变基。因此,您可能想要做的是从当前的 SVN 版本 ( git branch <name> remotes/trunk) 中创建一个分支并暂时处理它。然后,您可以像以前一样提交这些更改。

然后,要继续进行其他更改,您可以重新设置它们以匹配您在使用git rebase remotes/trunk. 然后,您将回到线性历史,并在两者之间进行稍后的提交,并继续开发您的新功能。

于 2012-10-03T16:16:27.820 回答
1

简单的。

解决方案一: git 中未提交的任何内容都可以隐藏起来。dcommitting 时不允许有未提交的文件。

解决方案二:在您现在所在的位置创建一个新分支。将主分支重置为您从 SVN git 的最后一次提交。将文件提交到 git 内的 master 分支。D提交到SVN。在 dcommit 之后将创建的新分支重新定位到新的 master 上。

任何问题?在这里使用图形工具将有很大帮助...

于 2012-10-03T15:32:12.113 回答