我有一个SVN repo,我已经在我的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
。
编辑:
Since git 2.16
git stash save
被弃用以支持git stash push
。它与“stash push”的不同之处在于它不能采用pathspecs,并且任何非选项参数都构成了消息。