如何在Git中重置、恢复,返回到以前的状态
如果我们现在运行一个
这里是工作目录中这个文件当前的内容:
图 3 恢复或重置如何选择?为什么要优先选择 当我们以这种方式使用 Git 工作时,我们的基本规则之一是:在你的本地仓库中使用这种方式去更改还没有推送的代码是可以的。如果提交已经推送到了远程仓库,并且可能其它人已经使用它来工作了,那么应该避免这些重写提交历史的更改。 总之,如果你想回滚、撤销或者重写其它人已经在使用的一个提交链的历史,当你的同事试图将他们的更改合并到他们拉取的原始链上时,他们可能需要做更多的工作。如果你必须对已经推送并被其他人正在使用的代码做更改,在你做更改之前必须要与他们沟通,让他们先合并他们的更改。然后在这个侵入操作没有需要合并的内容之后,他们再拉取最新的副本。 你可能注意到了,在我们做了
当提交被替换之后,我们在 Git 中做的大量其它操作也会发生类似的事情。新提交被创建,有关的指针被移动到一个新的链,但是老的提交链仍然存在。 变基现在我们来看一个分支变基。假设我们有两个分支:master 和 feature,提交链如下图 4 所示。master 的提交链是 图 4:master 和 feature 分支的提交链 如果我们在分支中看它的提交记录,它们看起来应该像下面的这样。(为了易于理解,
我告诉人们在 Git 中,可以将 因此,我们使用基本的 Git 命令,可以变基一个 feature 分支进入到 master 中,并将它拼入到
完成以后,我们的提交链将变成如下图 5 的样子。 图 5: (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Windows – 20Mbps WAN通过IPSec隧道限制为10Mbps
- 如何在Linux上锁定虚拟控制台会话
- Firefox 70 将引入“非活跃 CSS”,快速排查 CSS 属性
- 如何修复Windows 10中损坏的系统文件
- windows-phone-7 – UriKind在windows手机之间导航
- win10电脑操作痕迹怎么迅速查询
- 未经身份验证的用户如何访问Windows共享?
- 从下个月起Windows 7安装安全更新要付费了
- 在Server 2012 Core中使用Powershell解压缩文件
- windows-server-2008-r2 – Windows 2008 * R2 *上的WmiPrv