我有一个SVN存储库,已复制到PC中,并且一直在进行一些更改和提交。对于我解决的所有代码问题,我都会提交一次。如果我正在解决一个问题,则只需保存代码并将其保留在计算机上(直到我解决它,然后我才提交它)。我正在使用git svn
。
今天,我已经解决了三个问题(因此进行了3次提交),并且在解决另一个问题的过程中留下了代码。我想推送(dcommit
)我在本地所做的所有提交。
问题是:我仍然有尚未提交的文件,当我尝试dcommit
时,每个文件都会得到“需求更新”。
如何仅git svn dcommit
git add
对本地存储区所做的操作?我只想做git push
的工作,并保持我所有未版本控制的文件/差异。
我知道这可能是不当行为,但我的工作流程随处可见。
答案 0 :(得分:2)
首先,我认为您需要运行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
。它与“隐藏推送”的不同之处在于它不能采用路径规范,并且任何非选项参数都构成消息。