小编Sha*_*baz的帖子

'git branch -av'显示不再存在的远程分支

这可能是一个愚蠢的问题,但我是git的新手,我看到一个不再存在的远程分支.

$ git branch -a
* master
  remotes/origin/master
  remotes/origin/production
Run Code Online (Sandbox Code Playgroud)

我不相信生产分支存在远程,也无法弄清楚为什么它仍然在本地显示.如何删除/删除此分支?这是尝试删除它的样子:

$ git push origin :production

error: unable to push to unqualified destination: production
The destination refspec neither matches an existing ref on the remote nor
begins with refs/, and we are unable to guess a prefix based on the source ref.
error: failed to push some refs to 'git@IP:puppet.git'
Run Code Online (Sandbox Code Playgroud)

我可以检查所谓的远程生产分支,但得到这个:

$ git checkout origin/production
Note: checking out 'origin/production'.

You are in 'detached HEAD' state. You can look around, make experimental …
Run Code Online (Sandbox Code Playgroud)

git

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

什么是零元素阵列的需要?

在Linux内核代码中,我发现了以下无法理解的内容.

 struct bts_action {
         u16 type;
         u16 size;
         u8 data[0];
 } __attribute__ ((packed));
Run Code Online (Sandbox Code Playgroud)

代码在这里:http://lxr.free-electrons.com/source/include/linux/ti_wilink_st.h

零元素数据数组的需求和目的是什么?

c structure

117
推荐指数
4
解决办法
8289
查看次数

如何查看完整的符号链接路径

当我正在使用ls -la symlinkNamestat symlinkName不显示所有路径时(例如../../../one/two/file.txt)

什么是显示完整路径的linux命令?

linux

113
推荐指数
6
解决办法
18万
查看次数

除最后一列外,如何将表格单元格宽度设置为最小值?

我有一张宽100%的桌子.如果我将<td>s放入其中,它们会以相等长度的列展开.但是,我希望除了last之外的所有列都具有尽可能小的宽度,而不包装文本.

我首先做的是我设置width="1px"<td>除了最后一个以外的所有(虽然已经弃用,但style="width:1px"没有任何效果),这在我在列中有多字数据之前工作正常.在这种情况下,为了保持尽可能小的长度,它包裹了我的文本.

让我来证明一下.想象一下这张表:

---------------------------------------------------------------------------------
element1 | data      | junk here   | last column
---------------------------------------------------------------------------------
elem     | more data | other stuff | again, last column
---------------------------------------------------------------------------------
more     | of        | these       | rows
---------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

无论我尝试什么,我一直得到的是这样的:

---------------------------------------------------------------------------------
element1         | data             | junk here        | last column
---------------------------------------------------------------------------------
elem             | more data        | other stuff      | again, last column
---------------------------------------------------------------------------------
more             | of               | these            | rows
---------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

或者(即使我设定style="whitespace-wrap:nowrap")这个:

---------------------------------------------------------------------------------
         |      | …
Run Code Online (Sandbox Code Playgroud)

html css html-table

103
推荐指数
4
解决办法
9万
查看次数

当指定-g时gcc是否定义了什么?

不久,我想知道gcc(或g ++.我需要它在C中,但也很好奇c ++)定义任何特殊符号如果-g启用.可以?如果是这样,有什么符号?

在搜索过程中,我发现:

  • _DEBUG是手动定义的(通过手动我的意思-D_DEBUG)并且是从Visual C程序员那里习惯的习惯(因为VC _DEBUG在调试模式下编译时定义)
  • NDEBUG如果不在调试模式下,则定义.虽然我发现有几个地方在说这个,但是我在.c和.cpp文件中尝试使用我的gcc和g ++,并且在-g没有这些符号的情况下都没有定义这样的符号!

编辑:让我演示为什么我不想使用非标准符号:

想象一下内核模块做了什么,并提供了包含在其他内核模块中的头文件,以便它们可以连接到这个.

现在作为一个工具,我在其中一个头文件中:

#ifdef DEBUG <-- This is what I need
#define LOG(x, ...) printk("Some extra info"x, ##__VA_ARGS__);
#else
#define LOG(x, ...) printk("Without extra info"x, ##__VA_ARGS__);
#endif
Run Code Online (Sandbox Code Playgroud)

请注意,名称不是真的LOG,这是一个例子.

现在,我可以为DEBUG自己使用任何符号,但如果有人包含我的标题,他们可能无法定义该符号.当然,我可以告诉他们"顺便说一句,在调试模式中获取标题,定义另一个符号",但这对我来说听起来不对.

我可以在标头中定义符号并将其包含在所有头文件中.这样,如果它们包含我的一个标题,它们也会得到调试符号.现在的问题是,如果他们希望在调试模式下进行编译,我的头仍然认为他们是在调试模式.

所以我认为最好的是使用在使用时定义的符号-g,如果有的话!

更新

到目前为止,我得出结论,我可以这样做:

how_to_build.h

#if !defined(NDEBUG)
#define MY_DEBUG
#endif
Run Code Online (Sandbox Code Playgroud)

用法:

#include "how_to_build.h"

#ifdef MY_DEBUG
// rest of the story
Run Code Online (Sandbox Code Playgroud)

这样,通用选项也NDEBUG …

c debugging gcc c-preprocessor

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

在O(n)中查找列表中包含所有成员的最大间隔

我在接受采访时被问到这个问题.给定一个整数列表,我们如何找到给定列表中所有成员的最大间隔?

例如,给出列表1,3,5,7,4,6​​,10然后回答是[3,7].因为它具有3到7之间的所有元素.

我试着回答,但我没有说服力.我采取的方法是先对列表进行排序,然后检查最大间隔.但我被要求这样做O(n).

algorithm logic

40
推荐指数
4
解决办法
6064
查看次数

Visual Studio 2010或2008中的<dirent.h>

我想#include<dirent.h>在我的代码中使用但发生此错误:

无法打开包含文件:'dirent.h':没有这样的文件或目录

我怎么解决这个问题 ?

c++ visual-studio-2010 visual-studio-2008 visual-studio

39
推荐指数
1
解决办法
9万
查看次数

C++ #include guards

解决了

真正帮助我的是,我可以在.cpp文件中#include标头而不会导致重新定义的错误.


我是C++的新手,但我在C#和Java方面有一些编程经验,所以我可能会遗漏一些C++独有的基础知识.

问题是我真的不知道什么是错的,我会粘贴一些代码来试图解释这个问题.

我有三个类,GameEvents,Physics和GameObject.我有每个标题.GameEvents有一个Physics和一个GameObjects列表.Physics有一个GameObjects列表.

我想要实现的是我希望GameObject能够访问或拥有一个Physics对象.

如果我只是在GameObject中#include"Physics.h",我会得到"错误C2111:'ClassXXX':'class'类型redtifinition",我理解.这就是我认为#include-guard有帮助的地方所以我在我的Physics.h中添加了一个包含守卫,因为那是我想要包含两次的标题.

这是它的外观

#ifndef PHYSICS_H
#define PHYSICS_H

#include "GameObject.h"
#include <list>


class Physics
{
private:
    double gravity;
    list<GameObject*> objects;
    list<GameObject*>::iterator i;
public:
    Physics(void);
    void ApplyPhysics(GameObject*);
    void UpdatePhysics(int);
    bool RectangleIntersect(SDL_Rect, SDL_Rect);
    Vector2X CheckCollisions(Vector2X, GameObject*);
};

#endif // PHYSICS_H
Run Code Online (Sandbox Code Playgroud)

但如果我在GameObject.h中#include"Physics.h",现在就像这样:

#include "Texture2D.h"
#include "Vector2X.h"
#include <SDL.h>
#include "Physics.h"

class GameObject
{
private:
    SDL_Rect collisionBox;
public:
    Texture2D texture;
    Vector2X position;
    double gravityForce;
    int weight;
    bool isOnGround;
    GameObject(void);
    GameObject(Texture2D, Vector2X, int);
    void UpdateObject(int);
    void Draw(SDL_Surface*);
    void SetPosition(Vector2X);
    SDL_Rect GetCollisionBox(); …
Run Code Online (Sandbox Code Playgroud)

c++ header include-guards include

39
推荐指数
2
解决办法
7万
查看次数

使用Git-Svn克隆非标准Svn存储库

我对Git比较陌生,但我发现在家工作很容易,我想在我们的项目存储在Svn存储库中的工作中使用它.不幸的是,存储库略微不标准,我无法克隆它们.当然,它们都有trunk,branches /和tags /,但是在命中实际项目目录之前,branch /和tags /都有子目录:

trunk/
branches/maintenance/release1
branches/maintenance/release2
...
branches/development/feature1
branches/development/feature2
...
tags/build/build1
tags/build/build2
...
tags/release/release1
tags/release/release2
Run Code Online (Sandbox Code Playgroud)

克隆后:

$ git svn clone -s --prefix=svn/ https://mydomain.com/svnproject
$ git branch -r
  development
  development@1340
  maintenance
  maintenance@1340
  tags/build
  tags/build@1340
  tags/release
  tags/release@1340
  trunk
  trunk@1340 
Run Code Online (Sandbox Code Playgroud)

我没有得到任何实际的项目分支或标签.我实际上需要能够在主干,一个维护分支和一个开发分支上工作.我已经尝试过这种方法,除了修改配置的几个黑客,但没有什么对我有用.

有什么方法可以将我的非标准Svn项目的关键组件放到本地git存储库中,以便我可以轻松地在它们之间移动?

非常感谢.

更新:我应该补充一点,我不能批量切换到Git(尚).还有其他团队成员参与和国际存在.转型的后勤工作比我更愿意承担,直到我对Git更加满意; 正如我所提到的,我还是很新的.我几乎没有触及其功能的表面.

svn git clone git-svn

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

数学符号相反?

这样的功能存在吗?我创建了自己的但想使用官方的:

private function opposite(number:Number):Number
{
    if (number < 0)
    {
        number = Math.abs(number);
    }
    else
    {
        number = -(number);
    }
    return number;
}
Run Code Online (Sandbox Code Playgroud)

因此,-5变为5,3变为-3.

编辑:请原谅我是愚蠢的.我是人类.:)

math function

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