小编Kar*_*ldt的帖子

有没有办法以非交互方式压缩一些提交?

我正在尝试压缩一系列提交 - HEAD到HEAD~3.有没有快速的方法来做到这一点,还是我需要使用rebase --interactive?

git interactive rebase squash

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

在unix shell脚本中从日期减去1小时

我在shell脚本中有以下内容.如何在保留格式的同时减去一个小时?

DATE=`date "+%m/%d/%Y -%H:%M:%S"`
Run Code Online (Sandbox Code Playgroud)

unix shell datetime

42
推荐指数
4
解决办法
7万
查看次数

在git中解决"CONFLICT(删除/修改)"

在一个分支A中的一个分支中,更改文件并提交更改.现在在另一个分支B中编辑和重命名相同的文件.

将B合并到A git时,可以正确识别冲突(CONFLICT(删除/修改)),并且这两个文件都在工作目录中.

如果我知道想要在一个文件中同时进行更改,我该如何做到最好?

有一个git merge-file是 - 如果我是对的 - 期望这两个文件和一个共同的祖先.但是如何给后者呢?我怎么能说"使用$ commit from $ commit"或类似的东西?

例:

mkdir git-rename-repo
cd git-rename-repo
git init

echo "First line" > afile

git add .
git commit -m "First commit in master"
git checkout -b mybranch

echo "Second line in mybranch" >> afile
git mv afile bfile

git commit -a -m "change and rename in mybranch"
git checkout master

echo "Changed first line in master" > afile

git commit -a -m "changed …
Run Code Online (Sandbox Code Playgroud)

git

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

Git rebase分支与合并的孩子

今天我遇到了一个问题.我的队友从大师那里创建了分支.他在这个分支中开发了一个特征,然后在子特征的分支中开发了两个子特征.最后他对整个事情做了两次重构.所以...

     C--D    E--F             | subfeatures
    /    \  /    \
   B------M1------M2--G--H    | feature
  /
 A-------------------K        | master
Run Code Online (Sandbox Code Playgroud)

通常我们在将no-fast-forward合并到master之前对功能分支进行rebase.但当然这个rebase失败了.重新定义的功能分支看起来像:

     B'--C'--D'--E'--F'--G'--H'
    /
A--K
Run Code Online (Sandbox Code Playgroud)

当然,C&D的指针也出错了,所以我还得到了两个从空中成长的子功能分支.如果子特征分支没有合并到特征中,我理解如何修复它,但此时我很困惑.我在精心挑选的恢复分支中挑选了所有内容并再次合并.这是一个更简单的方法吗?

git merge branch rebase

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

安装python3,在终端中获取命令未找到错误

我安装了python3,我可以打开空闲,它说它正在运行python3.0.1,但是当我在终端中输入python3时(在OSX上)我得到一个错误,说'命令未找到'.进入python让我得到计算机上的2.x版本.关于如何从终端访问python3的任何建议?

谢谢

python macos path

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

可以隐藏分支的Git历史可视化GUI?

由于它的新手友好性,我开始学习带有集市的DVCS,并且由于其速度,最近由于我的日常工作而转向git.我从集市上错过的一件事是bzr qlog对话框,它允许您通过单击加号来隐藏或显示开发线,如此处所示.

bzr qlog显示可隐藏的分支

我想为git找到类似的东西.我已经检查了这里这里列出的GUI ,我想我已经设法从这里获得所有相关的.有人知道可隐藏分支的实现吗?注意,我并不是说能够指定所有分支而不是单个分支,几乎所有的GUI都可以这样做.我的意思是能够在单个分支中隐藏或显示任何合并提交的^ 2侧.

我更喜欢开源和跨平台,但只接受商业和/或Windows的东西.我想我可以bzr-git继续使用集市只是为了查看历史记录,但这可能会产生比它解决的更多可用性问题,更不用说首先引起切换的速度问题了.

话虽这么说,如果没有这个功能的可用实现,那是因为git和bazaar之间的某些技术差异导致它不可行吗?或者由于典型的工作流程或其他非功能性原因,还没有发生任何从事git GUI工作的人?如果没有不可逾越的技术原因,我可能会花时间自己做出这样的贡献.

git user-interface bazaar

6
推荐指数
1
解决办法
1911
查看次数

如何设置一个等于另一个变量内容的变量?

在下面(简化示例)批处理文件中,我无法正确设置Y:

@Echo off
setlocalenabledelayed Expansion
set EqS=Nope
set X=Eq
set Y=%X%S 
echo Y
Run Code Online (Sandbox Code Playgroud)

如何才能获得此脚本的输出Nope而不是EqS

variables batch-file variable-assignment

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

多线程C应用程序中的访问冲突

我正在尝试编写一个多线程的简单C应用程序.我希望主线程被挂起,直到工作线程设置了一些标志.所以对于我的线程函数参数,我传递一个包含该标志的结构.当我在工作线程中分配标志时,我得到访问冲突.我正在使用Mutex理论上阻止同时访问主应用程序和工作线程之间共享的此结构实例.有人能指出我正确的方向吗?完整的项目代码如下.我在THREADFUNCS.C文件的注释中表示了错误行.

GLOBALS.H

#ifndef _globals_h
#define _globals_h

#include <windows.h>


static HANDLE ghMutex;


#endif
Run Code Online (Sandbox Code Playgroud)

THREADCOM.H

#ifndef _threadcom_h
#define _threadcom_h

typedef struct { 
   char bContinueMain;
} RComData;

#endif
Run Code Online (Sandbox Code Playgroud)

THREADFUNCS.H

#ifndef _threadfuncs_h
#define _threadfuncs_h 

#include <windows.h>

extern DWORD WINAPI ThreadA(LPVOID params);

#endif
Run Code Online (Sandbox Code Playgroud)

THREADFUNCS.C

#include <stdio.h>
#include "threadcom.h"
#include "threadfuncs.h"
#include "globals.h"

DWORD WINAPI ThreadA(LPVOID params)
{
   RComData* pr = (RComData*)params;
   int i;

   printf("You are in thread A.\n");
   WaitForSingleObject(ghMutex, INFINITE);
   pr->bContinueMain = TRUE; /* ACCESS VIOLATION HERE */
   ReleaseMutex(ghMutex);
   for (i=0; i<10; ++i)
   {
      printf("Printing …
Run Code Online (Sandbox Code Playgroud)

c winapi multithreading mutex access-violation

2
推荐指数
1
解决办法
2093
查看次数

Git 删除提交者信息

我在 github.com 上开始了一些项目。我正在两台机器上工作。我做了这样的事情:

  1. 在github上创建项目,
  2. 在 Machine1 上从 github 克隆项目,
  3. 在 Machine1 上做了一些提交,
  4. 在 Machine2 上创建了存储库,
  5. 将更改从 Machine1 推送到 Machine2 和 github。

第二天我在 Machine2 上工作。我在那里有不同的配置,所以我正在使用“--author=something”参数进行提交。完成工作后,我将更改推送到 Machine1。

我将我的更改从 Machine1 推送到 github。我可以看到在 Machine1 上完成的提交在历史记录中提交了正确的 Author 和来自 Machine1 的提交者提交。我不想公开这个提交者提交的文件。我怎样才能删除它?

暂时我在 Machine1 上做了:

git reset --hard <commit before changes on Machine1>
git push -f github master
Run Code Online (Sandbox Code Playgroud)

但看起来获取提交者信息仍然是可能的。如何永久删除它。

此致,

亚当

git version-control

2
推荐指数
1
解决办法
1838
查看次数

可以告诉 pip 或 Poetry 不要安装 GPL 许可的软件包吗?

在最近的一次发布审查中,我们惊讶地发现一些 GPL 包已作为可传递依赖项安装。有没有办法将 pip 或诗歌安装配置为在某些许可证类型上失败?我们的旧服务使用 pip,而新服务使用诗歌。或者,是否至少有一种列出所有依赖项(包括传递依赖项)的许可证的好方法?

python pip pypi python-poetry

2
推荐指数
1
解决办法
381
查看次数

Scala 中的协变安全转换

我正在尝试为具有协变类型参数的类编写安全转换,例如:

case class Foo[+A](a: A) {
  def safeCast[B <: A](): Option[B] = ???
}
Run Code Online (Sandbox Code Playgroud)

它由动态外部数据源填充,但我至少想静态地确保它B是 的子类A,然后None在类型转换失败时返回 a 。我不断收到关于A处于协变位置的错误。我可以得到它通过不使用的要进行类型检查<: A,但我怎么能指定有关此静态保证B

我知道它会阻止诸如将 a 分配Foo[Dog]Foo[Animal]val 之类的情况,然后尝试执行诸如safeCast[Mammal]whereMammal不是Dog. 就我而言,这实际上没问题。即使允许投射到超类型 ofAnimal也可以。我主要想静态地防止有人尝试safeCast[Plant].

请注意,我可以使用类外部的函数对其进行类型检查,如下所示,但我想要类上的方法。

def safeCast[A, B <: A](foo: Foo[A]): Option[B] = ???
Run Code Online (Sandbox Code Playgroud)

作为奖励,如果您知道使用猫或不使用 的东西来实现这一点的方法isInstanceOf,那将非常有用。

generics casting scala covariance

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

C++中的字符和文件

我必须创建一个程序,其中文件名由两部分组成:第一部分是固定的,第二部分可以在程序期间改变,例如"fixpart_integer.dat".我试图用C++做到这一点,但我没有成功.fisrt probelm是:我如何将数字转换为char; 我怎么能连接这两个字呢; 以及如何以正确的方式声明这个最终的char以打开这个文件名?

很多问题,但我确实找到了一个简单的方法来做到这一点.

c++

-5
推荐指数
1
解决办法
75
查看次数