- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我经常引用 git log --graph --decorate --oneline --all --full-history
来查看我的分支的当前状态,但它不显示分离的头/匿名分支。有没有办法让分离的头出现在这个图中?
我知道 git reflog
存在,但它很难阅读,因为没有结构 - 你所要做的就是提交消息,如果我没有,它仍然可能是 WIP'尚未完成提交。
一些背景(这不是回答问题所必需的,但有助于解释它的动机):我是 Mercurial 用户,我的工作流程涉及很多匿名分支。我倾向于大量使用 hg heads
来检查这些 heads,并且经常使用 hg rebase
根据对目的有意义的内容来分离或组合一系列提交易于理解的代码审查。
当我习惯使用 git 时,我经常发现自己的头脑是分离的,例如,当我将某个分支的一些提交 rebase 以创建一个新分支时。使用 git reflog
发现这些分离的头很烦人,老实说,它们从通常的 git log
中消失有点可怕。我什至用这种方式忘记了旧的提交,并且不得不在一两天后将它们从 git reflog
中挖掘出来。在 Mercurial 中,这些提交将保留为匿名负责人,并且会提醒我需要完成它们。
最佳答案
听起来您正在尝试使用与 git 工作方式不太匹配的工作流程。
首先,git 中的“分离头”与 Mercurial 的“头”概念不同。 Git 只有一个 HEAD,它就是当前 checkout 的提交。 “分离”仅表示您当前没有 checkout 分支。因此,当您创建一个提交时,它不会与分支关联,并且当您 checkout 另一个提交时它会丢失。
在 Git 中,您关心的每个提交都应该可以从某个分支访问。没有“匿名分支”这样的东西,这就是为什么 git 在提交到一个分离的头上时会警告你。在一个分离的头上提交就像分配一个对象然后扔掉指针;这是可能的,但几乎从来不是你想做的。请记住,git 中的分支是轻量级的并且可以是短暂的。只需在提交之前创建一个分支,以便您可以再次找到您的提交。
综上所述,如果您真的想查看存储库的结构,包括仅从 reflog 引用的提交,您可以使用:
git log --graph --decorate $(git rev-list -g --all)
关于git - 有没有工具可以让 git 在图表中显示 "detached heads"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16368605/
谷歌搜索后,此选项的精度极低, 具体来说,我想知道什么是“分离键”,什么是“分离容器的键序列”, 任何提示都会很棒, 谢谢 最佳答案 你好吗?正如这里所解释的:Docker Attach Docume
实体类: public class CustomerSurvey implements Serializable { @Id @GeneratedValue(strategy=GenerationTy
我正在经历这个例子 - https://github.com/pytorch/examples/blob/master/dcgan/main.py我有一个基本问题。 fake = netG(noise
我正在使用 JQuery 1.5 和以下代码在单击按钮时分离带有特定类的 li 元素。我想知道的是,当再次单击该按钮时,如何将元素添加回页面? $("#remove").click(
clone() 与 detach() 对比 Torch 为了提高速度,向量或是矩阵的赋值是指向同一内存的,这不同于 Matlab。如果需要保存旧的tensor即需要开辟新的存储地址而不是引用,可以
import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends Stateles
我已经分离了一个 div,并希望在单击按钮时重新附加它。 代码如下: $('#wrapper').detach(); $("#open_menu").click(function(){ ATT
加载页面中的所有脚本后,我可以安全地调用 $('script').detach(); 从 DOM 中删除脚本吗? 注意:它相当于 Array.from(document.getElementsByTa
我正在尝试修改旧版 Delphi 5 应用程序,以便可以从其图标/通过资源管理器或从控制台(命令行)启动它。当它从控制台启动时,我希望程序将自身与控制台进程分离,以便控制台可以继续执行其他指令,而无需
我正在使用 jQuery 1.3.2,目前我还不能指望升级。考虑一下在 1.4.2 中运行的代码: var some_elem = $('#some_element'); var other_elem
我有这样的东西: //html Action 1 Action 1 Action 1 ...
void helloFiber(boost::fibers::future &f) { cout pm; boost::fibers::future ft = pm.get_futu
我正在尝试使用“ref”属性从树中删除元素
对于Decorator设计模式,GoF明确指出: With decorators, responsibilities can be added and removed at run-time simp
我有一个函数 f,我想在一个单独的进程中生成它,该进程的生命周期应该独立于其父进程。执行此操作的最佳方法是什么? 我还没有找到一种使用 multiprocessing.Process(target=f
在我正在处理的这个模块中,我有一个监听窗口中的“调整大小”事件的监听器。每次运行模块时,我都需要检查是否已经有一个监听器注册到该事件并将其分离,以避免不必要的行为、内存泄漏等。 到目前为止一切顺利,但
我在我认为是我的分支的地方做了几十次提交,然后检查了另一个分支。 愿意回到我最初的分支,我没有找到我更新的代码。在控制台查看我的历史记录后,我了解到我在一个独立的分支机构工作...... 是否有可能以
在 Laravel 文档中,我发现 detach() 方法可以分离多对多关系中的所有对象。 Laravel 中的 detach() 方法也可以应用于一对多关系吗?如果没有,在这种情况下如何分离所有 n
我有: class _PageState extends State with WidgetsBindingObserver { @override void initState() {
我的应用程序使用一个在应用程序生命周期中存在的上下文实例。我使用 Entity Framework 来读取和写入所有数据到数据库。添加对象后,我希望它们被垃圾收集器清理,这样它们就不会保留在内存中。我
我是一名优秀的程序员,十分优秀!