不提交使用 git-svn 对 svn 所做的所有更改
Not dcommitting every change made to svn using git-svn
我有一个 SVN 存储库,我已将其复制到我的 PC 中,并且我一直在进行一些更改和提交。我为我解决的每个代码问题(我被要求解决)做出承诺。如果我正在解决一个问题,我只是保存代码并将其留在我的计算机上(直到我解决它,我提交它)。我正在使用 git svn
.
今天我已经解决了三个问题(因此做出了三个提交)并且我在解决另一个问题的过程中留下了代码。我想推送 (dcommit
) 我在本地所做的所有提交。
问题是:我还有未提交的文件,当我尝试 dcommit
时,每个文件都得到 "needs update"。
我如何才能 git svn dcommit
仅 git add
我在本地存储库中所做的事情?我想做 git push
所做的事,并让我所有未版本化的 files/diffs 保持不变。
我知道这可能是玩忽职守之类的,但我的工作流程是这样的。
首先,我认为您需要 运行 git svn fetch
才能看到其他开发人员在您尝试推送的 svn 分支上做了什么。然后,为了能够进行实际工作来推动您的更改和内容,您将不得不停止您正在做的事情并清理工作树。为了做到这一点 运行 git stash save
。然后你应该可以放心地四处走动了。现在,您应该在 svn 分支的更新提示之上进行 rebase,现在您应该能够 运行 git svn dcommit
推送到 svn。然后你可能会考虑把你藏起来的东西拿出来,这样你就可以继续工作了git stash pop
.
编辑:
Since git 2.16 git stash save
is deprecated in favour of git stash push
. It differs from "stash push" in that it cannot take pathspecs, and any non-option arguments form the message.
我有一个 SVN 存储库,我已将其复制到我的 PC 中,并且我一直在进行一些更改和提交。我为我解决的每个代码问题(我被要求解决)做出承诺。如果我正在解决一个问题,我只是保存代码并将其留在我的计算机上(直到我解决它,我提交它)。我正在使用 git svn
.
今天我已经解决了三个问题(因此做出了三个提交)并且我在解决另一个问题的过程中留下了代码。我想推送 (dcommit
) 我在本地所做的所有提交。
问题是:我还有未提交的文件,当我尝试 dcommit
时,每个文件都得到 "needs update"。
我如何才能 git svn dcommit
仅 git add
我在本地存储库中所做的事情?我想做 git push
所做的事,并让我所有未版本化的 files/diffs 保持不变。
我知道这可能是玩忽职守之类的,但我的工作流程是这样的。
首先,我认为您需要 运行 git svn fetch
才能看到其他开发人员在您尝试推送的 svn 分支上做了什么。然后,为了能够进行实际工作来推动您的更改和内容,您将不得不停止您正在做的事情并清理工作树。为了做到这一点 运行 git stash save
。然后你应该可以放心地四处走动了。现在,您应该在 svn 分支的更新提示之上进行 rebase,现在您应该能够 运行 git svn dcommit
推送到 svn。然后你可能会考虑把你藏起来的东西拿出来,这样你就可以继续工作了git stash pop
.
编辑:
Since git 2.16
git stash save
is deprecated in favour ofgit stash push
. It differs from "stash push" in that it cannot take pathspecs, and any non-option arguments form the message.