java - Git 是离开 WIP 分支并开始在另一个分支上工作的更好方法

标签 java android git version-control gitlab

我正在一个分支(feature01)上工作,它仍在进行中。现在我必须离开 WIP 分支并开始处理另一个功能/错误修复,为此,我必须从我的开发分支中创建一个新分支。我通常将所有更改存储在 feature01 中并开始在新分支上工作。我不太喜欢这个解决方案,因为我可以在新分支上工作一天左右,而且我必须记住存储中有些东西。每个分支是否有任何本地化版本的存储或类似的东西,以便我可以在不同的 WIP 分支之间移动,而不必存储一堆东西并手动跟踪它们。

我想到的一个解决方案是在 checkout 到新分支之前提交本地更改,然后当在 WIP 分支之一上完成工作时,我可以将一些提交与更有意义的消息压缩在一起,而不是而不是有一堆没有那么有用的消息的提交。

我想知道你们是否知道这个问题的更好解决方案,或者这个问题是否是因为我的 git 工作流程不正确而出现的。我在网上搜索了解决方案,但大多数人建议 stash ,当更改在 stash 中保留较长时间时,我不太喜欢这种做法。

干杯。 瓦卡尔

最佳答案

我建议使用临时提交:

# you have unfinished modifications to save before switching
git commit -am "temp - DO NOT PUSH"
git checkout other-branch

然后您可以处理 other-branch ,完成后,可以轻松撤消 previous-branch 上的提交同时保留其内容

git checkout previous-branch
git reset HEAD^
<小时/>

当然,有了别名就更容易了

git config --global alias.ct 'commit -am "temp - DO NOT PUSH"'
git config --global alias.rs1 'reset HEAD^'

然后就

# to save uncommited changes ON the branch
git ct

# to "unravel" a temp commit
git rs1

关于java - Git 是离开 WIP 分支并开始在另一个分支上工作的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58857916/

相关文章:

Java 斯塔克斯 : Invalid byte 2 of 3-byte UTF-8 sequence

Java:点旋转结果不准确

java - 在 Android 上使用 Netty4 和 VPN 服务时保护套接字

git - 如何根据 SHA1 代码识别 Git 对象类型?

git - 带有两个 git 存储库的 Jenkinsfile

java - 嵌入式数组内的对象化嵌入式数组无法持久存在

java - 在 Spring MVC 中处理多部分和非多部分 HTTP POST

android - 如何在没有 AccountManager 或权限的情况下在 EditText 上显示用户电子邮件

android - 文字量大如何写出特色

git 恢复删除后没有提交的文件