有没有办法在没有存储库的情况下对存储库执行Git命令?
比如这样的事情:git /home/repo log
?
请不要告诉我cd
.我是通过exec
电话这样做的.
我目前正在分支机构,并希望一些提交合并到其他分支:
a-b-c-d-e-f-g (branchA)
/
--o-x-x-x-x-x-x-x-x-x-x (master)
\
x-x-x-x-x (branchB)
Run Code Online (Sandbox Code Playgroud)
(字母表示提交,"x"是不相关的提交.)
但是我注意到汇集一些提交是个好主意.我想"连接"将a,d,e和g提交到一个补丁中并将其提交给master.提交b和f应该作为一个提交到branchB.是否有一种良好的"git"方式来实现它?
我的编辑器正在更改源文件的行结尾.当我这样做的时候git diff
,我会看到两次相同的线 - 一次一次,-
一次一次+
- 没有明显的区别.
我该如何git diff
告诉我实际上这个变化是什么?
我可以将参数传递给Git命令的别名吗?
我在Git配置中有一些别名,如下所示:
rb1 = rebase -i HEAD~1
rb2 = rebase -i HEAD~2
rb3 = rebase -i HEAD~3
rb4 = rebase -i HEAD~4
....
Run Code Online (Sandbox Code Playgroud)
是否可以制作rb
别名,以便git rb <x>
适用于任何<x>
?
我试过这个别名:
rb = rebase -i HEAD~
Run Code Online (Sandbox Code Playgroud)
但后来例如git rb 8
不起作用.
是否可以在不使用临时文件的情况下在不同的变量中存储或捕获stdout和stderr ?现在我这样做是为了out
在err
运行时获取stdout 和stderr some_command
,但是我想避开临时文件.
error_file=$(mktemp)
out=$(some_command 2>$error_file)
err=$(< error_file)
rm $error_file
Run Code Online (Sandbox Code Playgroud) Hutton的Razor是一种简单的表达式语言,具有常量和附加:
data HR = Const Int
| HR :+: HR
eval :: HR -> Int
eval (Const n) = n
eval (e1 :+: e2) = eval e1 + eval e2
Run Code Online (Sandbox Code Playgroud)
它出现在幅材上,例如许多编程示例[ 1,2,3,4 ].有没有人知道它最初定义的地方,也许是Graham Hutton写的一篇论文?
如何让GDB在打印功能中做多余的解引用
x/s
?
当我尝试显式解引用时,x/
我得到错误"尝试取消引用通用指针".使用x/
多次是有效的,因为每次使用都包含隐式解引用,但这很烦人,因为我必须复制并粘贴每个中间结果.
考虑非常有用的C程序,example.c
:
#include <stdio.h>
int main(int argc, char **argv) {
printf("argv[0] = %s\n", argv[0]);
}
Run Code Online (Sandbox Code Playgroud)
如果我构建它并将其加载到GDB中,我看到它argv
存储在
0xc(%ebp)
,因为它的双重因素作为第二个参数传递到第26行printf
(即0x4(%esp)
)中:
$ gcc -o example example.c
$ gdb example
(gdb) disass main
Dump of assembler code for function main:
0x080483e4 <+0>: push %ebp
0x080483e5 <+1>: mov %esp,%ebp
0x080483e7 <+3>: and $0xfffffff0,%esp
0x080483ea <+6>: sub $0x10,%esp
0x080483ed <+9>: mov 0xc(%ebp),%eax
0x080483f0 <+12>: mov (%eax),%edx
0x080483f2 <+14>: mov $0x80484e0,%eax …
Run Code Online (Sandbox Code Playgroud) 默认情况下,GHCi会保存100行命令历史记录~/.ghc/ghci_history
.我可以增加这个数字吗?
我在GNU/Linux上使用GHC 7.6.3.
我正在将这个n
-ary补码概括为一个n
-ary compose,但是我很难让界面变得漂亮.也就是说,我无法弄清楚如何在类型级别使用数字文字,同时仍然能够对后继者进行模式匹配.
使用roll-my-own nats,我可以进行n
组合工作,但我只能n
作为迭代后继者传递,而不是作为文字传递:
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}
module RollMyOwnNats where
import Data.List (genericIndex)
-- import Data.Proxy
data Proxy (n::Nat) = Proxy
----------------------------------------------------------------
-- Stuff that works.
data Nat = Z | S Nat
class Compose (n::Nat) b b' t t' where
compose :: Proxy n -> (b -> b') -> t -> …
Run Code Online (Sandbox Code Playgroud)