不使用 git-svn 提交对 svn 所做的所有更改



我有一个SVN存储库,我已经在我的PC中复制了它,并且我一直在进行一些更改和提交。我为我解决的每个代码问题(我被要求解决(都会提交。如果我正在解决一个问题,我只需保存代码并将其留在我的计算机上(直到我解决它,我提交它(。我正在使用git svn.

今天我已经解决了三个问题(因此进行了三个提交(,我将代码留在了解决另一个问题的过程中。我想推送(dcommit(我在本地所做的所有提交。

问题是:我仍然有尚未提交的文件,当我尝试dcommit时,我得到了每个文件的"需要更新"。

如何仅git svn dcommit在本地存储库中git add执行的操作?我想做git push做的事情,并保留我所有未版本控制的文件/差异。

我知道这可能是渎职或其他什么,但我的工作流程。

首先,我认为您需要运行git svn fetch才能看到其他开发人员在您尝试推进的 svn 分支上做了什么。然后,为了能够做实际的工作来推动你的更改和东西,你将不得不停止你正在做的事情并清理工作树。为了做到这一点,运行git stash save.然后你应该能够轻松地四处走动。现在,您应该在 svn 分支的更新提示之上重新定位,现在您应该能够运行git svn dcommit推送到 svn。然后,您可以考虑弹出您藏匿的内容,以便您可以继续git stash pop工作。

编辑:

由于 git 2.16 git stash save 已被弃用,取而代之的是git stash push .它与"存储推送"的不同之处在于它不能采用路径规范,并且任何非选项参数都构成了消息。

最新更新