小编Phi*_*ler的帖子

如何在签出先前的提交后返回到最新的提交?

我有时会检查一些以前版本的代码来检查或测试.如果我想修改以前的提交,我已经看到了如何操作的说明 - 但是假设我没有做任何更改.在我完成例如之后,我git checkout HEAD^如何回到分支的尖端?... git log不再向我显示最新提交的SHA.

git version-control

433
推荐指数
7
解决办法
22万
查看次数

禁用所有gcc警告

我正在开发一个项目,它将读取特定种类的编译器错误消息并对它们执行有用的操作.我正在测试这个示例代码库(一个随机的开源应用程序),因此经常重建,包含一些产生警告的位,这对我来说是不感兴趣的.

如何禁用GCC的所有警告,所以我可以看到错误消息,如果有的话?

gcc warnings g++

168
推荐指数
1
解决办法
12万
查看次数

如何将文件指针(FILE*fp)转换为文件描述符(int fd)?

我有一个FILE *,通过电话回来fopen().我需要从中获取文件描述符,以便进行调用fsync(fd).从文件指针获取文件描述符的功能是什么?

c unix linux posix file

164
推荐指数
2
解决办法
10万
查看次数

GIT vs. Perforce-两个VCS将进入...一个人将离开

所以我正在让GIT在工作中出售.我需要的第一件事就是让每个人相信GIT在他们已经习惯做的事情上做得更好.我们目前使用Perforce.还有其他人经历过类似的销售吗?有什么好的链接/建议吗?

其中一个重大胜利是我们可以与网络断开连接.IMO的另一个胜利是处理添加/结账的方式.欢迎更多积分!我们总共有10-20个开发者.

git perforce process-management

85
推荐指数
7
解决办法
10万
查看次数

为什么检查错误的密码比检查正确的密码需要更长的时间?

这个问题一直困扰着我.

在Linux上,当被要求输入密码时,如果您的输入是正确的,它会立即检查,几乎没有延迟.但是,另一方面,如果输入错误的密码,则需要更长的时间来检查.这是为什么?

我在我尝试过的所有Linux发行版中都观察到了这一点.

security authentication passwords

82
推荐指数
5
解决办法
1万
查看次数

Git Interactive Merge?

我有两个分支与完全相同的文件(如果你想知道它是一个.sql文件),我想以交互方式合并它.

我想要在出现冲突(或命令行)时像我一样打开一个差异程序,并准确选择哪些行去哪里.

反正有没有这样做?

git version-control

68
推荐指数
4
解决办法
5万
查看次数

警告C4003和错误C2589和C2059 on:x = std :: numeric_limits <int> :: max();

这行在小型测试程序中正常工作,但在我想要它的程序中,我得到以下编译器投诉:

#include <limits>

x = std::numeric_limits<int>::max();

c:\...\x.cpp(192) : warning C4003: not enough actual parameters for macro 'max'
c:\...\x.cpp(192) : error C2589: '(' : illegal token on right side of '::'
c:\...\x.cpp(192) : error C2059: syntax error : '::'
Run Code Online (Sandbox Code Playgroud)

我得到了相同的结果:

#include <limits>
using namespace std;

x = numeric_limits<int>::max();
Run Code Online (Sandbox Code Playgroud)

为什么它将max视为宏max(a,b); ?

c++ max visual-c++ numeric-limits

56
推荐指数
3
解决办法
2万
查看次数

C预处理器是否首先删除注释或扩展宏?

考虑这个(可怕的,可怕的,没有好的,非常糟糕的)代码结构:

#define foo(x) // commented out debugging code

// Misformatted to not obscure the point
if (a)
foo(a);
bar(a);
Run Code Online (Sandbox Code Playgroud)

我已经看到两个编译器的预处理器在这段代码上生成不同的结果:

if (a)
bar(a);
Run Code Online (Sandbox Code Playgroud)

if (a)
;
bar(a);
Run Code Online (Sandbox Code Playgroud)

显然,对于可移植的代码库来说这是一件坏事.

我的问题:预处理器应该用这个做什么?首先是Elide评论,还是先扩展宏?

c comments c99 c-preprocessor

54
推荐指数
3
解决办法
2万
查看次数

git:如何将一些提交移动到新分支

我一直在直线工作:

A---B---C---D---E---F (master:HEAD)
Run Code Online (Sandbox Code Playgroud)

现在我想向后移动:

git checkout C
Run Code Online (Sandbox Code Playgroud)

并将最后一次提交移至新分支:

选项1:

          D---E---F (new:HEAD)
         /
A---B---C (master)
Run Code Online (Sandbox Code Playgroud)

选项2:

          F (new:HEAD)
         /
A---B---C (master)
Run Code Online (Sandbox Code Playgroud)

如何重新定义选项1以及如何选择2?

git version-control

42
推荐指数
1
解决办法
8577
查看次数

如何在git中恢复已删除的分支?

我正在尝试使用git进行软件开发.我发现如果我在git中删除一个分支,我可能永远丢失我的代码.这让我感到惊讶.我认为作为版本控制系统,它应该能够让我做任何事情(甚至是愚蠢的),而不用担心伤害我的工作.

以下是我的所作所为:

  1. 初始化git存储库.
  2. 提交对存储库的若干更改.
  3. 切换/检出当前工作目录到第一次提交.
  4. 删除主分支.
  5. 然后我丢失了所有的作品,我无法相信我所看到的.这是真的吗?如果我在编码时喝醉了.我可能会丢失git中的代码.

问题是如何回滚删除分支的操作​​?或者,我怎样才能获得git中的所有历史记录,甚至是日志中消失的东西?

git

35
推荐指数
1
解决办法
3万
查看次数