这里描述了一个类似的问题,但是我的症状有所不同,并且那里的所有步骤似乎都不起作用。这里的建议也不起作用。
我正在尝试使用SourceTree克隆属于我所属的github组织的私有存储库。我拥有查看和提交存储库的完整权限,登录后可以在线查看它,并且可以通过命令行以及通过github桌面应用程序进行克隆。它仅在SourceTree中失败。
此外,它不是坏凭证,因为我可以使用带有我的github凭证的SourceTree克隆,提交并推送到我在github上的其他非私有存储库。
在“克隆存储库”对话框中,输入源URL,看起来像这样:
https://github.com/MyOrgName/reponame.git
Run Code Online (Sandbox Code Playgroud)
我关闭了该字段,并填充了“目标路径”和“名称”字段,但是在对话框的底部是一个带有此错误的黄色感叹号:
This is not a valid source path / URL
Run Code Online (Sandbox Code Playgroud)
如果单击错误消息,它将弹出“详细信息”对话框,其中显示以下内容(由于某些原因两次):
remote: Repository not found.
fatal: repository 'https://github.com/MyOrgName/reponame.git/' not found
remote: Repository not found.
fatal: repository 'https://github.com/MyOrgName/reponame.git/' not found
Run Code Online (Sandbox Code Playgroud)
我还尝试通过将我的用户名添加到url来进行此操作,如下所示:
https://myusername@github.com/MyOrgName/reponame.git
Run Code Online (Sandbox Code Playgroud)
但那里也没有运气。
我敢肯定有一个简单的方法可以做到这一点,但是我没有找到它。
本质上,我想做的是利用Java DoubleStream计算各种东西,例如值数组的平均值。但是,数组可能包含NaN值,这当然会导致结果也是NaN。因此,我想以一种方式,过滤掉NaN并计算平均值。
例如,此代码将产生NaN的结果,这是我不想要的。
import java.util.stream.DoubleStream;
public class StreamTests {
public static void main(String[] args) {
double[] x = {3.14159, 42, 2.71828, Double.NaN};
double mean = DoubleStream.of(x).average().getAsDouble();
System.out.println(mean);
}
}
Run Code Online (Sandbox Code Playgroud)
我想做的是这样的:
import java.util.stream.DoubleStream;
public class StreamTests {
public static void main(String[] args) {
double[] x = {3.14159, 42, 2.71828, Double.NaN};
double mean = DoubleStream.of(x).ifNotNaN().average().getAsDouble();
System.out.println(mean);
}
}
Run Code Online (Sandbox Code Playgroud)
例如,我可以在Python中执行以下操作:
import math
x = [3.14159, 42, 2.71828, float('NaN')]
mean = sum([i for i in x if not math.isnan(i)]) / len(x)
print(mean)
Run Code Online (Sandbox Code Playgroud)
我知道为什么在第一个代码块中生成NaN,而只是标准的浮点行为。而且我也知道我可以循环遍历值并检查每个值,等等,但这正是我要避免的。我希望代码更加紧凑和优雅。