小编Nul*_*ptr的帖子

如何以交互方式(可视化)解决SourceTree/git中的冲突

我正在为我的git项目使用(Windows)SourceTree.我可以在命令提示符或Linux终端中执行此操作.

但是,我想知道是否有一种交互式和视觉上解决冲突的好方法.例如,如果pull检测到冲突,则弹出基于GUI的冲突工具(例如,P4Merge).可能吗?

我总是在做手动冲突解决,这很痛苦.

例如,这是pull来自SourceTree 的git 消息.

git -c diff.mnemonicprefix=false -c core.quotepath=false pull --no-commit origin master
From W:\repo\
 * branch            master     -> FETCH_HEAD   

Updating 33c07bf..41e0249

error: Your local changes to the following files would be overwritten by merge:
    foo.cpp
    goo.cpp
    goo.hpp
Please, commit your changes or stash them before you can merge.
Aborting    

Completed with errors, see above.
Run Code Online (Sandbox Code Playgroud)

git git-merge merge-conflict-resolution atlassian-sourcetree

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

git:为什么"合并分支'掌握'......"?当拉和推

我还是git新手.我修改了一些源文件并提交了.然后,我做到了git push.但是,我收到了这个错误.

To /foo/bar/  ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to '/foo/bar/' To prevent you from
losing history, non-fast-forward updates were rejected Merge the
remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)

这似乎拒绝,我也没有git pull之前push.所以,我做到了git pull.好的,其他人有两个修改过的文件.

然后,我 git push成功了.

问题:在这种情况下,我会看到一个更多的日志,如下面的原始提交消息:

commit 59e04ce13b8afa...
Merge: 64240ba 76008a5
Author: Jone Doe <jone@doe.com>
Date:   Fri Mar 15 11:08:55 2013 -0700 …
Run Code Online (Sandbox Code Playgroud)

git git-pull git-push git-commit

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

将大字符串写入文件的最佳方法

在C#中,我正在读取中等大小的文件(100 KB~1 MB),修改内容的某些部分,最后写入不同的文件.所有内容都是文字.修改以字符串对象和字符串操作完成.我目前的做法是:

  1. 使用,从原始文件中读取每一行StreamReader.
  2. 打开a StringBuilder以获取新文件的内容.
  3. 修改字符串对象和呼叫AppendLineStringBuilder(直到文件的结尾)
  4. 打开一个新的StreamWriter,然后写入StringBuilder写入流.

但是,我发现StremWriter.Write截断32768字节(2 ^ 16),但长度StringBuilder大于那个.我可以写一个简单的循环来保证整个字符串到一个文件.但是,我想知道在执行此任务时C#中最有效的方法是什么?

总而言之,我只想修改文本文件的某些部分并写入不同的文件.但是,文本文件大小可能大于32768字节.

==答案==很抱歉让你烦恼!只是我没有打电话flush.StremWriter.Write没有短期(例如,2 ^ 16)限制.

c# string file stream

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

适用于Windows的硬件性能计数器API

我想使用硬件性能计数器,特别是x86 CPU来获取缓存未命中或分支错误预测.性能计数器在英特尔VTune等高级分析器中大量使用.请不要在Windows操作系统上混淆性能计数器.

为了在C/C++程序中使用这些计数器,可以使用PAPI:http://icl.cs.utk.edu/papi/

这使您可以轻松使用性能计数器,但仅限于Linux.PAPI曾经支持Windows,但现在不支持.

是否有人最近尝试使用PAPI或其他API在Windows上使用硬件性能计数器?

c performance x86 profiling x86-64

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

程序员将获得Macbook Pro Retina的分辨率

注意:这个问题可能不太适合,但我想问一下,因为我想听听Mac OS X开发人员的意见.

Macbook Pro Retina(MPB Retina)具有原生2880x1800分辨率.但是,这种原始分辨率不会直接暴露.而是提供了像1440x900和1920x1200这样的分辨率,如下图所示.

来自Anandtech

我想知道程序员会看到什么解决方案.是2880x1800吗?或者,降低分辨率?

我对Mac OS X如何处理这种超级显示特别感兴趣.可能有两种方法:(1)Mac OS X设置2880x1800分辨率,然后调整所有程序的DPI缩放; (2)只需设置较低的分辨率,同时具有原始DPI设置.(简单)

因为我没有为Mac OS X编写应用程序的经验,所以我真的想看看Mac OS X如何处理这个分辨率,以及程序员对视网膜显示的影响是什么.

macos dpi screen-resolution retina-display

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

git log / show等替换终端屏幕

我最近开始zsh在iTerm2上使用(oh-my-zsh,无需自定义)。但是,我在git log或中遇到了麻烦git show

例如,以前,git log结果只是终端的一部分,就像ls -l结果一样。戒烟后git logq键,结果被保留在终端屏幕。我能够轻松地选择一些哈希ID。

但是,当前的问题是git log(或git show)结果替换了屏幕。因此,退出后git log,终端将完全删除所有git结果并返回到原始屏幕。这种行为就像vim

即使使用bashMac的默认终端应用程序,此行为也相同。这不是问题--no-pager

任何帮助将不胜感激。

git terminal git-log oh-my-zsh

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

我可以使用Boost interval_map来做到这一点吗?

我想要做的是有效地处理间隔.例如,在我的示例中,间隔如下所示:

[10, 20], [15, 25], [40, 100], [5, 14]

间隔是封闭的和整数,有些间隔可能会过度.我想找到重叠的区间给定的查询效率.例如,如果[16, 22]给出:

[10, 20], [15, 25]

应将上述间隔计算为整数间隔.

我目前正在编写一个基于红黑树的区间树(参考:CLRS,算法简介).虽然找到所有重叠间隔可以是O(n),但运行时间应该更快.请注意,可以删除和插入间隔.


但是,我刚刚发现Boost已经interval_mapinterval_set:http: //www.boost.org/doc/libs/1_46_1/libs/icl/doc/html/index.html

我试过了,但这种行为对我来说很奇怪.例如,如果[2, 7]首先被插入,然后[3, 8]被插入,然后将得到的地图将有[2, 3),[3, 7],和(7, 8].也就是说,当插入新间隔时,自动完成分割.

我可以关闭此功能吗?或者,Boost interval_map适合我的目的?

c++ algorithm boost data-structures boost-icl

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

Eclipse Juno:如何更改代码折叠区域的背景

在此输入图像描述

我目前正在使用Eclipse Juno(截至2012年8月30日的最新版本).我使用Eclipse Color Theme插件切换到一个黑暗的主题.

我修改了一些背景颜色以匹配这个黑暗的主题.但是,我永远找不到更改代码折叠区域(行号和代码之间的空格)的背景的选项.

请帮我改变这种背景颜色!

eclipse eclipse-plugin

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

通过Python查找和分组字谜

input: ['abc', 'cab', 'cafe', 'face', 'goo']
output: [['abc', 'cab'], ['cafe', 'face'], ['goo']]
Run Code Online (Sandbox Code Playgroud)

问题很简单:它由字谜组成.订单无关紧要.

当然,我可以通过C++(这是我的母语)来做到这一点.但是,我想知道这可以通过Python一行中完成.编辑:如果不可能,可能是2或3行.我是Python的新手.

为了检查两个字符串是否是字谜,我使用了排序.

>>> input = ['abc', 'cab', 'cafe', 'face', 'goo']
>>> input2 = [''.join(sorted(x)) for x in input]
>>> input2
['abc', 'abc', 'acef', 'acef', 'goo']
Run Code Online (Sandbox Code Playgroud)

我认为通过组合等可能是可行的map.但是,我需要使用a dict作为哈希表.我还不知道这是否可以在一行中完成.任何提示都会被贬低!

python list-comprehension anagram

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

git:如何将我的工作文件与最新的文件合并

我是git的新手,但仍然遇到很多麻烦.

说我正在努力a.cpp.我修改了一些代码a.cpp.而且,这种变化还没有准备好提交或推动.

然后,其他人也改变了a.cpp.

在SVN/CVS中,签出执行合并或冲突.

我认为这git pull也是一样的.

但是,似乎git pull不合并/冲突.这是正确的行为吗?

此外,git checkout只是简单地重写a.cpp,失去我所有的变化.

是否有任何简单的方法来提取最新版本并执行合并/冲突?

git git-pull git-merge

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