让我们说我正在为我想象中的应用程序开发一些新功能。我正在使用位于我工作场所的台式电脑。现在是晚上五点,所以我准备回家了。不幸的是,我无法完成这项功能,但明天我想在家工作。
将进度(不是已完成的功能)推送到存储库的“正确”方法是什么? 如果你的回答是这不是Git的目的,那么你如何解决这个问题呢?
答案 0 :(得分:2)
它被称为功能分支。
您只为您正在处理的功能创建了一个小分支,然后您可以随时提交。因为没有人知道功能分支,所以你不会通过提交未完成的东西搞砸任何东西。您可以将此分支推送到服务器;其他人会看到它,但它会留在一切。你也可以根据自己的意愿做git commit --amend
,因为无论如何,noboy应该使用那个分支。
完成此功能后,您可以使用git rebase -i
清除历史记录(例如,删除带有微小修复的提交)。然后将功能分支合并到master
(或发送合并请求)并将其删除。
提示: git push origin +feature_branch
。使用加号,而不是-f
,因为它不会覆盖除指定分支之外的任何内容。