首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忘记推送提交

忘记推送提交
EN

Stack Overflow用户
提问于 2015-11-20 09:36:59
回答 1查看 3.3K关注 0票数 4

我在做一个软件项目。

我用git / github。

我是目前唯一的开发人员。

我通常在家里和工作地点工作。

在开始任何会话之前,我做一个git pull,当完成时,做一个git add . -A && git commit -m "my commit message" && git push --tags origin master (为此我有一个gitadd投标人别名)。

昨天,在一次工作会议之后,我忘了在家里推推器:

当我意识到这一点时,是我的反应:

现在,问题是:

我应该执行哪些行动,使我能够在今天工作(当然是在项目的不同部分,当然是在昨天在家工作),才能将昨天(在家)和今天(从工作中)的变化合并起来?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-20 09:48:01

由于您一直在维护一个良好的线性Git工作流,我建议您使用重基来保持原样。

你今天可以像往常一样在办公室里工作,并把你的工作做好。当你回到家工作时,你可以做一个git pull --rebase来带来工作中的变化。本地分支将通过一个或多个提交在远程版本的后面。重新基地会让你的家庭分部看起来就像你在今天的办公室里做了昨晚的工作一样。在家中采取下列步骤:

代码语言:javascript
复制
git commit -m 'Changes from last night which I forgot'
git pull --rebase origin master

这可能会产生冲突,但如果你真的在办公室里完成了项目中完全独立的部分,那就不太可能了。

下面的图表显示了昨晚在家里提交工作后,您的家庭和远程master分支的状态:

代码语言:javascript
复制
remote: A --- B --- C
                 \
local:              D

在这里,提交C是您今天在工作中所做的提交,而提交D是您今晚将要提交的(昨晚的工作)。现在,在执行git pull --rebase origin master之后,图将如下所示:

代码语言:javascript
复制
remote: A --- B --- C
                     \
local:                D'

当您在git push中进行更改时,远程将在它从工作中获得的基础上接收一个新提交。当你明天去上班的时候,事情会像以前一样继续下去。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33823316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档