我有一个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
.它与"存储推送"的不同之处在于它不能采用路径规范,并且任何非选项参数都构成了消息。