- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在圣诞节前不久在我们的一个存储库中执行 git log --decorate --oneline --graph
时,我们发现出现了以下结构(旋转以强调脆弱的节日主题):
提交图中的这种模式是如何产生的?
当然,这是故意有些愚蠢,但这里有一个有趣的点 — 当您在 git 历史浏览器中看到它们时,通常很难看出如何解释提交图中的特定模式。
最佳答案
在这种情况下,在存储库的一个克隆中 master
分支的顶端有一个未推送的提交。然后 git pull
在同一个存储库中多次运行,在一段时间内,上游有很多新工作正在完成。 (在这种情况下,它是由于自动脚本而发生的,但如果开发人员只是反复 pull 入分支以使其保持最新,而不是 rebase ,那么同样的事情也会发生。)
当上游有新提交时,每次 pull 都会创建一个新的 merge 提交,因为 master
中总是有一个不在上游 master
中的提交。
最终,这个存储库中 master 分支的历史被推送到上游,所以其他开发人员在他们下次从上游存储库 pull 时看到提交图中的这个结构突然出现。
如果您有一些具有类似结构的历史记录,并且想找出是哪个提交/开发人员导致了这个问题,您可以只查看带星号的行(基本上跟随每个 merge 的第一个父级)直到你得到第一个非 merge 提交。在图片中的例子中,它是 b275805
— 应该更早推送的提交。
这就是人们通常更喜欢使用 git pull --rebase
的原因之一——它使您未发布的历史变得简单。
我的同事 Matthew Somerville发现了这一点并弄清楚发生了什么。
关于git - 为什么我的 git 历史看起来像一棵圣诞树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14023648/
对于作业,我们需要在 R 中绘制一棵圣诞树。 我在互联网上搜索并找到了一些有用的建议,但归根结底,我不知道如何继续,希望有人能帮助我。 到目前为止,这是我的代码。 #ctree: prints a C
我是 C# 的新手,因为我请求帮助我实现这个: * * *** * *** ***** * **
如何用C语言画一个“圣诞树”,我使用了左右镜像的Sierpinski triangle,每层减去上方一小块,再用符号点缀。可生成不同层数的「圣诞树」,如下图是5层的结果
我需要绘制一棵具有给定 n 行数的 java 圣诞树,但不是通常这样绘制的: * *** ***** ******* 但像这样,带有分隔标签: *
我是一名优秀的程序员,十分优秀!