我通常会提交一份提交列表以供审核.如果我有以下提交:
HEAD
Commit3
Commit2
Commit1
...我知道我可以修改头部提交git commit --amend
.但是我怎么能修改Commit1
,因为它不是HEAD
提交?
我知道的一种愚蠢的方式是:
git diff commit-number1 commit-number2
Run Code Online (Sandbox Code Playgroud)
有更好的方法吗?
我的意思是我想知道commit1本身,我不想在它之前添加commit2作为参数.
我用的时候
git commit --amend
Run Code Online (Sandbox Code Playgroud)
它会进入一个vi窗口让我输入提交的注释,问题是vi windows会显示前shell背景中的一些脏字符.所以我想知道如何让vi重新加载或重绘屏幕以使屏幕正常.
到目前为止,我尝试重置终端和Ctrl + L,它的工作原理,但我不知道这种情况有最好的答案吗?
例如:我想要:
如果file1存在:
CLEAN_SRC = *.h file3
Run Code Online (Sandbox Code Playgroud)
其他
CLEAN_SRC =
Run Code Online (Sandbox Code Playgroud) 作为标题,任何方便的方式?
我特别需要一些cvs/git commit或sendmail来加载模板注释.我认为这是一个vi环境,而不是Vim.
我可以使用带有静态链接的gcc构建可执行文件:
gcc -static xxx.c -o xxx
所以我可以在没有任何外部依赖库的情况下运行xxx.
但是,如果我想构建没有外部依赖库的共享库呢?我的意思是我希望共享库静态链接其外部引用.
客户端首先关闭套接字,当服务器没有太多数据时,tcp连接关闭就好了:
FIN -->
<-- ACK
<-- FIN, ACK
ACK -->
Run Code Online (Sandbox Code Playgroud)
当服务器忙于发送数据时:
FIN -->
<-- ACK,PSH
RST -->
Run Code Online (Sandbox Code Playgroud)
并且服务器连接进入CLOSE_WAIT状态并在那里挂了很长时间.
这有什么问题?客户相关或服务器相关?这种情况发生在Redhat5上,用于本地套接字.
此文章说说为什么"RST"是送的,但我不知道为什么停留在CLOSE_WAIT服务器的连接,不发送一个FIN出来.
[编辑]我忽略了最重要的信息,这发生在qemu的slirp网络仿真上.这似乎是处理密切连接的slirp bug的问题.
无法链接以下两个文件,当我删除"static"关键字时,则没关系.用g ++测试.用readelf检查对象文件,静态成员似乎被导出为全局对象符号......我认为它应该是一个本地对象......?
static1.cpp
class StaticClass
{
public:
void setMemberA(int m) { a = m; }
int getMemberA() const { return a; }
private:
static int a;
};
int StaticClass::a = 0;
void first()
{
StaticClass statc1;
static1.setMemberA(2);
}
Run Code Online (Sandbox Code Playgroud)
static2.cpp
class StaticClass
{
public:
void setMemberA(int m) { a = m; }
int getMemberA() const { return a; }
private:
static int a;
};
int StaticClass::a = 0;
void second()
{
StaticClass statc1;
static1.setMemberA(2);
}
Run Code Online (Sandbox Code Playgroud)
有错误信息:
/tmp/ccIdHsDm.o:(.bss+0x0):`StaticClass :: a'的多重定义
通常我在master分支上工作,我做了一些提交,然后推送它.
然后我还需要将这些提交推送到其他分支.
通常,我会这样做:
$ git checkout another-branch
$ git cherry-pick commit1
$ git cherry-pick commit2
...
$ git cherry-pick commitn
$ git push
Run Code Online (Sandbox Code Playgroud)
某种愚蠢的,无论如何我可以从主分支的头部合并一些提交,所以我不必费心去挑选一个一个.
我总是使用vim + cscope检查符号定义,我发现cscope总是采用如下声明:
struct sk_buff;
Run Code Online (Sandbox Code Playgroud)
作为一个定义,它使vim始终显示一个长列表文件来选择.的确,我只想要这个定义:
struct sk_buff {
...
};
Run Code Online (Sandbox Code Playgroud)
似乎ctags可以解决这个问题,但cscope可以解决这个问题吗?或者有些事我错了.
我检查了cscope源代码,我发现很难从头开始修改lex和yacc源代码.