相关疑难解决方法(0)

TFS门禁办理登机手续的缺点

我一直在使用TFS中的持续集成(CI)构建.但是,在我上一个项目中,我们开始使用门控签入触发器.

使用门禁办理登机手续有什么不利之处吗?因为如果它阻止团队检查损坏的代码,那么CI触发器的目的是什么?

tfs continuous-integration checkin

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

git pre-push hook:在每个新提交上运行测试

语境

我想确保我推送的每个提交都通过测试。

我想在我的(客户端)端检查这一点,即在提交之前进行检查(所以我不想依赖 CI 工具)。

问题

目前,我已经实现了一个pre-commit运行测试的钩子,因此我什至无法提交损坏的状态。

然而,我的测试套件运行需要花费几秒钟的时间。在编写提交消息之前我需要等待很多时间。这使得日常使用变得不切实际;两者都是因为我经常提交,而且我有时故意想要提交一个损坏的状态以供稍后粉碎(我知道git commit --no-verify,但这不是重点)。

问题

因此,我不想一次(在创建时)检查每个提交,而是想在推送之前对它们进行批量测试。

如何实现一个钩子来为每个要推送的新提交pre-push运行我的测试套件?

(为了简单起见,假设通过测试意味着test/run_tests.sh返回0。)

git git-push githooks

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

如果出错,如何退出bash函数?

我正在制作一个预先提交的脚本.它看起来像这样:

function presubmit() {
  gradle test android
  gradle test ios
  gradle test server
  git push origin master
}
Run Code Online (Sandbox Code Playgroud)

我希望函数退出,如果任何测试失败,那么它不会将bug推送到git.怎么样?

bash

11
推荐指数
5
解决办法
7383
查看次数

如何将推送到GitHub的Matlab文件自动更改文件扩展名?

我已经开始使用Github来托管我的大部分代码,包括我的Matlab代码.事实证明,Github语法根据其扩展而不是文件内容突出显示代码.这对于Matlab m文件来说并不是那么好.它们被识别为Objective-C文件,也是.m,并且未正确识别/突出显示.如果它们具有.matlab扩展名,Github会突出显示Matlab m文件,但问题是Matlab似乎拒绝运行没有.m扩展名的文件.我无法提出解决方案,因为我希望我的matlab文件能够与Github和Matlab很好地配合使用.所以这里有几个问题:

  1. 有没有办法在推送到Github时将所有.m文件转换为.matlab扩展名?在从Github获取或克隆时,还需要将.matlab文件转换为.m扩展名吗?

  2. 如果1.不可能,有没有办法让Matlab运行具有.matlab扩展名的文件?

如果是1或2,我会喜欢一些提示或如何做到这一点的例子.

git matlab github

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

创建分支别名并推送

如何创建分支别名,使其可以被推拉而不被视为单独的分支。一些背景:

我们有一个名为Production. 由于各种原因,我不能只是重命名分支。

$ git branch --all
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/Production
  remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

有时我会git checkout production错误地没有注意到它是一个新分支。没有远程分支production。也没有 ref origin/production

$ git checkout production
Branch production set up to track remote branch production from origin.
Switched to a new branch 'production'
$ git status
On branch production
Your branch is up-to-date with 'origin/production'.

nothing to commit, working directory clean
$ git branch --all
  master
* production
  remotes/origin/HEAD -> origin/master
  remotes/origin/Production
  remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

Git 创建了一个本地分支 …

git version-control github

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

为什么 jsonlines 包会解析为registry.npm.taobao.org?

当我安装 npm 包jsonlines时,它被解析为镜像注册表registry.npm.taobao.org而不是registry.npmjs.org. 它仅针对 执行此操作jsonlines。这是什么原因造成的?

这是我的 package-lock.json 的差异。原始的“已解析”值是在另一个开发人员安装该包时创建的:

     "jsonlines": {
       "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/jsonlines/-/jsonlines-0.1.1.tgz",
+      "resolved": "https://registry.npm.taobao.org/jsonlines/download/jsonlines-0.1.1.tgz",
       "integrity": "sha1-T80kbcXQ44aRkHxEqwAveC0dlMw="
     },
Run Code Online (Sandbox Code Playgroud)

我确认我配置的注册表是 npmjs.org:

$ npm config get registry
https://registry.npmjs.org/
Run Code Online (Sandbox Code Playgroud)

npm jsonlines

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

为什么git没有预推钩?

在将更改推送到远程(位于bitbucket上)之前,我想有一个钩子来运行我的测试.

我通常分支主人,当功能完成后我将它合并回主人和推,这就是我寻找预推钩的原因.相反,我使用了限制和主提前限制的预提交.我已经看到为Git 1.6完成的补丁另一个问题,它提出了我提出的解决方案的问题.

我想知道的是为什么 git不支持pre-push hook(特别是如果一个补丁已被接受过一次)?(顺便说一句 - 我是最新的git版本)

git

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