小编tbo*_*der的帖子

git:在文件中更改一行以获取完整的历史记录

当我开始我的git repo时,我提交了一些文件作为初始提交.现在,很多提交后来,我注意到我在这些文件中包含了一条信息,其中包含我不想发布的信息(与其他代码不同).所以我想删除/更改这一行保留其余的代码.

在我周围搜索我找到了这个解决方案:插入一个空提交作为初始提交(这里描述:在Git中根提交之前插入一个提交?),对它做一个rebase,然后通过修改编辑旧的第一次提交.不幸的是,在rebase期间出现了许多残酷的合并冲突(如下所述:git:解决由rebase引起的冲突).

有没有不同的方法来解决我的问题,或者必须手动变基和编辑所有冲突?

提前致谢 :)

git commit git-amend

38
推荐指数
3
解决办法
8194
查看次数

从子进程获取进度消息

我想开始一个需要几分钟才能完成的程序.在此期间,我想阅读程序的进度消息(打印在标准输出上).问题是我找不到在运行期间读出输出的方法.

我发现读取程序输出的唯一函数是Popen.communicate(),但是这个方法一直等到进程完成.因此,无法获得进度并以特殊格式化方式使用户可见.

是否有可能以另一种方式做到这一点?

当我subprocess.popen使用我的脚本运行该过程时,我在屏幕上看到程序的输出.有可能隐藏它吗?(Ubuntu 10.10,普通终端)

python subprocess

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

使用MinGW的msysGit,反之亦然

我使用git作为我的修订控制系统.为此,我安装了msysGit来检查我在MSW上的存储库.现在我想用MinGW编译我的程序,并为我发现这个"问题":当我通过mingw-get安装MinGW和MSYS时,我可以编译我的程序,没问题.但我无法访问git.当我使用Git Bash时,我可以使用git,但无法编译.

有没有可能:

  • 安装MinGW"进入"Git Bash(因为它已经包含了msys,不是吗?)或者
  • 在两个安装之间设置"链接"以使其工作.

我会更喜欢我可以更容易地保持两个包更新的方式.

提前致谢 :)

git mingw compilation msys msysgit

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

用于C++的小型本机跨平台GUI框架

我在c ++中用Boost写了一个小程序.它工作正常,所以我想给它一个图形界面,以便它更容易使用.
为了做到这一点,我正在寻找提供原生外观和感觉的小型跨平台框架.Windows和Linux支持就足够了,目前我不需要os x ...

我在其他项目中使用了wxWidgets,但设置一切并用软件运送这个大型库是一件痛苦的事.
但我真的对使用真正的原生控件感到惊讶.为了保持程序小,我也尝试了fltk,但它看起来很糟糕.

我只需要一个没有网络支持或其他噱头的简单框架.

所以我的问题是:有没有符合所有要求的框架?或者如果没有,哪些框架至少符合这些需求中的一部分?

提前致谢!

c++ frameworks cross-platform native

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

Java:volatile足以使类线程安全吗?

我对Java中的volatile语句有疑问.请看这个构造的例子:

class Master {
    // Foo is a class with thread-safe methods
    public volatile Foo foo;
}

class Worker1 implements Runnable {
    protected Master master

    void run() { ... };
}

class Worker2 implements Runnable {
    protected Master master

    void run() { ... };
}
Run Code Online (Sandbox Code Playgroud)

我们有2个工作线程,它们持有对同时运行的类Master对象的引用.在他们的工作中,他们都必须访问master.foo的方法.在某些时候,master的Foo对象将被其中一个工作线程更改.现在我的问题是:使用volatile会使整个构造线程安全吗?我问这个是因为在OracleJava教程中它说

但是,您可以指定原子操作:

  • 读取和写入是参考变量的原子[...]

原子动作不能交错,因此可以使用它们而不必担心线程干扰.

我只是想确保我理解正确.

提前致谢 :)

java volatile thread-safety

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

一般如何使用修订控制系统

我打算创建比以前的项目更大的项目,所以我认为使用像svn或git这样的修订控制系统来跟踪所有更改,在代码中尝试一些新的功能会更好没有风险等等.

现在(除了我是否应该使用svn或git的问题),我问自己"如何使用"这样的系统.

到现在为止,我发现类似的词汇树干,标签分支(这个词合并经常出现在这方面).但我不确定如何真正与他们合作.标签似乎是发布版本(如果不是请纠正我),但我不知道在主干分支中真正属于什么; 何时使用什么等..

在我的研究过程中,我还建议您通常应该为新项目创建一个包含子文件夹分支,标签和主干的文件夹结构.你还推荐这个吗?或者我应该以不同的方式处理项目的源代码?

有人可以试着向我解释一下吗?

svn git version-control revision

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