这可能是一个愚蠢的问题,但我是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) 在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
零元素数据数组的需求和目的是什么?
当我正在使用ls -la symlinkName或stat symlinkName不显示所有路径时(例如../../../one/two/file.txt)
什么是显示完整路径的linux命令?
我有一张宽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) 不久,我想知道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 …
我在接受采访时被问到这个问题.给定一个整数列表,我们如何找到给定列表中所有成员的最大间隔?
例如,给出列表1,3,5,7,4,6,10然后回答是[3,7].因为它具有3到7之间的所有元素.
我试着回答,但我没有说服力.我采取的方法是先对列表进行排序,然后检查最大间隔.但我被要求这样做O(n).
我想#include<dirent.h>在我的代码中使用但发生此错误:
无法打开包含文件:'dirent.h':没有这样的文件或目录
我怎么解决这个问题 ?
解决了
真正帮助我的是,我可以在.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) 我对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更加满意; 正如我所提到的,我还是很新的.我几乎没有触及其功能的表面.
这样的功能存在吗?我创建了自己的但想使用官方的:
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.
编辑:请原谅我是愚蠢的.我是人类.:)