git清除历史纪录

git清除历史纪录,第1张

若我想删除历史记录里比较考前的提交,而后面还有很多需要保留的提交,则:

1.2 如果要删除的历史记录是分散的,则可以考虑 Interactive Rebase,自行挑拣/合并等。如git rebase -i <ref>

1.1 如果要删除的历史记录是连续的,比如说从最开始到某一刻全部都删除或者是中间一截可以删除,则可以考虑 Onto Rebase,如 git rebase --onto <ONTO_BASE_ref><START_ref><END_ref>,其中 START 到 END 之间的是需要保留的部分,而 ONTO_BASE 则是最新的基点;换言之,从 ONTO_BASE 到 START 之间的历史记录会被干掉。

若我要删除的历史记录很多,要保留的则很少(比如说就保留最近的一个,以前都不想要了),那索性可以直接创建 Orphan Branch 来重建历史记录。如 git checkout --orphan new_start,这条命令会创建一个叫做 new_start 的分支,该分支没有任何历史记录,但是所有的文件都会原封不动的存在,你可以据此开始重新提交。完成之后甚至可以把旧的分支直接废弃。另外,也可以指定新分支的起点,默认当然是从 HEAD 开始了。

你还可以把历史记录分成两份(或更多份),其中有的完整,有的则简化等等,具体参见这篇关于 git replace 的文档:http://git-scm.com/2010/03/17/replace.html

其实还有很多种场景可以说道,Git 的用法非常灵活,即使暂时用不到也值得细细过一遍知道它能做什么样的事情,然后遇到各种复杂的场景就可以自己推导出解决方案了。

 我是用idea连的git,这样会比较方便,但是最近,git的账号过期了,就抛出了这个异常

每次对git进行 *** 作的时候都会抛这个异常,按说应该是让你重新登录才对,但是怎么试就是没有,我一度认为是idea的问题,又清缓存又清密码什么的,都不好使。因为我一直以为这是因为git的账号密码被idea存起来了,只要清除了,它就会让我重新登录。

后来我就在网上找了找,原来还有凭证这一东西。之前我一直以为亚马逊云的权限是用的浏览器缓存呢,但是这东西真的是过了好几天也不用重新登录,我也没太在意,原来用的是凭证。在控制面板上找到凭证后,把它给删掉,这样就能重新登录了,因为这个git是需要浏览器二次验证的,所以也不能直接在凭证里改密码。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8158720.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存