小编shs*_*yoo的帖子

在 Gitkraken 中设置来源和上游

我一直在 Mac 上使用 Sourcetree 来管理我的存储库。我最近找到了一台 Ubuntu 机器来开发,并且发现 Sourcetree 不适用于 Ubuntu,我发现 Gitkraken 作为一个潜在的替代方案。

我的问题是,有什么方法可以在 Gitkraken 中为推送和拉取设置不同的远程存储库?(例如,使用顶部菜单栏上的按钮从上游/开发推到原点/开发拉)。如果这是不可能的,有没有办法跟踪与您正在推/拉的远程分支不同的远程分支?

例如,设置 Sourcetree 以便 local/develop 跟踪远程分支 upstream/develop,同时推送到远程分支 origin/develop。因此,如果人们对原始存储库进行更改,它将显示在我的 Sourcetree 中,我将知道从上游/开发拉到本地/开发。如果我进行了任何更改,我可以将我的 fork 推送到 origin/develop 并在那里创建一个拉取请求,以便在更改获得批准后合并到上游/develop。

另外,在 Gitkraken 中,如果我右键单击上游/开发,有一个选项merge upstream/develop into develop应该采用上游/开发中的最新更改并将其合并到我的本地副本中,对吗?(如果我突然将本地开发合并到上游,上帝会帮助我)。

git gitkraken

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

无法迭代Javascript对象

我一直遇到访问JS对象中的数据的问题.收集数据的代码(来自Firebase数据库)如下:

var get_user_data = function() {
    ...
    snapshot.forEach(function(child){
        var key = child.key;
        var value = child.val();
        user_char[key] = value;
        console.log(key, value);
    });
    store_user_char(user_char);
}

var store_user_char = function(user_char) {
    char_obj = user_char;
    console.log(char_obj);
    for(var key in char_obj){
        if(char_obj.hasOwnProperty(key)){
            console.log(key);
        }
}
Run Code Online (Sandbox Code Playgroud)

哪个(理论上)应该从Firebase数据库创建JS对象,当它将数据写入user_char时,它会将每个键:对象对打印到控制台中.之后,当store_user_char()执行时,它还应打印出之前的每个键.

第一个console.log()在写入user_char时成功输出每个键:对象对.第二个console.log()成功输出对象,我甚至可以单击并编辑其中的所有元素,在Firefox控制台中如下所示:

对象属性

但是第三个console.log()永远不会执行,并试图通过访问如下所示的键从char_obj获取任何数据:

char_obj['KSxpjEvkCOL6ugGkxqn']
Run Code Online (Sandbox Code Playgroud)

什么都不做,返回undefined.奇怪的是,在Firefox中手动单击对象允许我解析每个子元素,因此我知道数据存储在某个地方.

我唯一能想到的是来自数据库的请求可能需要很长时间来返回数据,但即使这样,store_user_char()函数应该在数据存储到user_char之后执行,所以我非常困惑为什么我的代码似乎无法遍历对象.

我觉得好像我遗漏了一些关于JS对象的东西,这就是为什么我的代码无法找到数据的原因,但是我一直在试图找出最新情况,以及如何访问数据.

任何有关此事的帮助将不胜感激!

编辑:get_user_data的完全def如下:

// Global variables
var user_email;
var user_char = {};
var uid;

var get_user_data = function() {
    // Authenticate current user
    var user = firebase.auth().currentUser;

    // Get User Email …
Run Code Online (Sandbox Code Playgroud)

javascript javascript-objects firebase firebase-realtime-database

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

数组数据类型声明C++

在为C++中的mergesort编写代码作为练习时,我意识到我没有一种可靠的方法来声明在编译时没有特定类型的数组.

在Java中,有一种方法可以使数组Comparable以便于使用运算符(<.>,=)进行排序.我想知道的是:C++是否包含任何使数组具有可比性的方法?在我知道它是什么类型的数组之前,有什么办法可以创建一个数组吗?

例如,我获得了一个简单的mergesort程序的代码(In Java)

public static void merge(Comparable[] a, int lo, int mid, int hi){
    int i = lo, j = mid+1;
    for(int k = lo; k <= hi; k++)
        aux[k] = a[k];
    for(int k = lo; k <= hi; k++)
        if      (i > mid)               a[k] = aux[j++];
        else if (j > high)              a[k] = aux[i++];
        else if (less(aux[j], aux[i]))  a[k] = aux[j++];
        else                            a[k] = aux[i++];
}
Run Code Online (Sandbox Code Playgroud)

如果我正在创建一个名为mergesort的类,我将如何在C++中实现它,同时还可以在程序运行后确定数组类型?

c++ arrays

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