小编Ale*_*lex的帖子

Git重用分支或删除并再次创建

我最近完成了为我正在处理的项目添加某个功能的任务.由于此功能依赖于残酷使用的旧代码,因此我决定分两步执行任务:

  • 重构旧代码以使其更有用
  • 使用重构代码创建功能

我创建了一个分支feat/foo,在重构完成后,我将它合并到我们的master中,以便我们可以直接使用这些更改.现在我留下了以下提交历史记录:

A ---> B ---> C --> E ---> F <master  B: created branch feat/foo
       |            ^                 D: refactoring finished
       D -----------|                 C: changes in master in between
       ^                              E: merge commit
     feat/foo                         F: master is now here
Run Code Online (Sandbox Code Playgroud)

feat/foo仍然指向D,我的主人提升到了提交F.我现在要做什么来继续我在分支专长/ foo中完成这项任务的工作?我看到两种可能性:

  • 要么删除feat/foo checkout -b又要删除它,所以我有一个与我的旧分支同名的新分支,
  • 或以某种方式"重用"feat/foo,我不知道该怎么做

第一个解决方案对我来说感觉不太对,删除分支只是为了再次创建它似乎是"错误的".但我不知道如何重复使用它.

我该怎么办?删除并重新创建分支,或者如果正确的答案将重用它,如何?

git

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

Drop To Frame有时会被禁用,有时则不会

我经常使用Eclipse Debgugging函数Drop To Frame,但有时它在调试时不可用.我在SOEclipse Help条目中找到了另一个问题,其中说:

请注意,此命令仅在当前VM支持逐帧且所选堆栈帧不是顶部帧或本机方法中的帧时可用.

我的问题是,在调试相同的函数时(它不是顶层堆栈框架,并且它或它的父版本都不是本机方法 - 尽管有一个高3级)我有时会发现Drop to Frame已启用,我有时会发现它被禁用.

你知道Drop To Frame的更多限制,这可能是它不可用的原因吗?注意:我一直使用相同的JVM,我无法想象它有时会支持Drop To Frame,有时则不支持.

java eclipse debugging

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

使用整数的加运算符作为BiFunction

我有一张地图,我想要计算一些东西.在java 8之前,我不得不在地图中为每个键放置一个零,然后才能这样map.put(key, map.get(key)+1).

从Java 8开始,我现在可以使用Map的合并方法,如下例所示:

public class CountingMap {

  private static final Map<Integer, Integer> map = new HashMap<> ();

  public static Integer add (final Integer i1,
                             final Integer i2) {
    return i1 + i2;
  }

  public static void main (final String[] args) {
    map.merge (0, 1, CountingMap::add);
    System.out.println (map); //prints {0=1}
    map.merge (0, 1, CountingMap::add);
    System.out.println (map); //prints {0=2}
  }

}
Run Code Online (Sandbox Code Playgroud)

我的问题是,我可以将对Integer的+运算符的引用作为BiFunction传递而不必声明我自己的add函数吗?

我已经尝试过类似的事情Integer::+,Integer::operator+但没有这些作品.

编辑:正如Tunaki指出的那样,我可以使用它Integer::sum.不过,我想知道是否有可能直接通过运营商作为参考.

java java-8

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

标签 统计

java ×2

debugging ×1

eclipse ×1

git ×1

java-8 ×1