小编loc*_*doc的帖子

git和vimdiff - 一次关闭所有文件

当使用带有git和大量更改文件的vimdiff时,vimdiff将按顺序打开每个文件.关闭当前文件后,它会打开下一个文件.

但是,如果我只是想要打破整个差异化过程并且也不想让差异打开呢?

使用vimdiff时如何停止所有差异?

git vimdiff

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

在OSX上使用相机覆盖进行ffmpeg屏幕录制

我想用ffmpeg记录我的桌面以及我的相机作为桌面上的叠加层.

所以基本上我将有两个需要记录的输入源

$ ffmpeg -f avfoundation -list_devices true -i ''
[AVFoundation input device @ 0x7fded1c223e0] AVFoundation video devices:
[AVFoundation input device @ 0x7fded1c223e0] [0] FaceTime HD Camera
[AVFoundation input device @ 0x7fded1c223e0] [1] Capture screen 0
[AVFoundation input device @ 0x7fded1c223e0] AVFoundation audio devices:
[AVFoundation input device @ 0x7fded1c223e0] [0] Built-in Microphone
Run Code Online (Sandbox Code Playgroud)

从上面,我需要[0] FaceTime高清摄像机作为叠加,[1]捕获屏幕0作为主要视频.

这甚至可能吗?

更新(2015-10-06):

我从ffscreencast找到了以下命令:

ffmpeg \
-f avfoundation -i "1" \
-f avfoundation -r 30 -video_size 640x480 -i "0" \
-c:v libx264 -crf 0 -preset …
Run Code Online (Sandbox Code Playgroud)

macos ffmpeg screen-capture avfoundation camera-overlay

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

GitLab-CI多跑者开始泊坞容器

我仍然不太了解gitlab-ci多跑者启动docker并与代码进行内部交互的过程.

是否有可能gitlab-ci多个运行器启动一个docker容器,其中包含此docker容器中的当前代码,然后针对此代码运行测试?(例如:代码掉落)

我基本上想要一个安装了各种挂钩的docker容器.GitLab-CI多跑者应该在主机系统上运行并按需启动docker容器.在docker容器内部,应该根据phpcs检查代码.

如何将repo代码放入docker容器?

谢谢您的帮助

gitlab docker gitlab-ci gitlab-ci-runner

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

Posix shell:区分空变量和不存在变量

纯粹来说/bin/sh,我如何区分空变量、未设置变量和不存在(未定义)变量。

以下是案例:

# Case 1: not existing
echo "${foo}"

# Case 2: unset
foo=
echo "${foo}"

# Case 3: Empty
foo=""
echo "${foo}"
Run Code Online (Sandbox Code Playgroud)

现在我想检查一下这三种情况。如果情况2和情况3实际上是相同的,那么我至少必须能够区分它们和情况1。

任何想法?

更新 已解决,感谢 Matteo

代码如下所示:

#foo  <-- not defined
bar1=
bar2=""
bar3="a"

if ! set | grep '^foo=' >/dev/null 2>&1; then
    echo "foo does not exist"
elif [ -z "${foo}" ]; then
    echo "foo is empty"
else
    echo "foo has a value"
fi

if ! set | grep '^bar1=' >/dev/null 2>&1; then
    echo "bar1 …
Run Code Online (Sandbox Code Playgroud)

variables posix sh

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

gitweb和每个项目的http身份验证

我已成功在apache vHost上为所有经过身份验证的用户设置了gitweb.

服务器本身通过https提供多个git存储库,并具有对这些项目的每个用户/组访问权限.例如,test1.git只能由组test1读取/写入,test2.git只能由组test2读/写.

现在我也只想让那些组在gitweb界面中看到相应的git存储库.是否可以为gitweb提供那些细粒度的访问权限?

如果没有,是否有一个轻量级的web gui for git,可以处理每个项目的基本http身份验证(以及稍后可能的ldap身份验证)?

编辑 只是为了让事情更清楚(因为评论似乎有些混淆):示例:

  • 有10个存储库(test1,test2,... test10)

  • 用户lockdoc在组test1test3中

  • 一旦使用用户名lockdoc和他/她的密码通过http进行身份验证,此用户只能看到git项目test1test3,并且无法浏览/查看任何其他项目

  • 不需要在Web界面上编写(推送),因为这已经实现了

apache git gitweb

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

Vim - 使用可视模式交换列

我有这样的降价表.我想用head2交换head3列.

| head1 | head3 | head2 |
|-------|-------|-------|
| foo   | baa   | none  |
| some  | text  | here  |
Run Code Online (Sandbox Code Playgroud)

我可以使用可视模式(Ctrl-V)轻松切割色谱柱,但如何将色谱柱"按列"粘贴?

此外,哪个操作很简单:

  1. 切'头3'并贴在'head2'后面
  2. 切'头2'并在'head3'之前粘贴?

vim cut copy-paste paste

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

Git:列出应该被忽略的文件,但不是

注意:

这不是关于修复,就像git rm -r --cached . && git add .我实际上只想列出文件一样.

为什么:

有时当我编辑我的.gitignore并忘记上面的命令时,我最终得到了仍在存储库中的文件,但应该被忽略.

什么:

我想要完成的是编写一个shell脚本,它能够列出我的文件系统上should已被忽略但仍然存在的所有文件.

结果:

最后,我想将它实现到一个持续集成服务器,即检查规则.gitignore是否与存储库中的文件匹配.

有没有办法.gitignore用手解析?

git shell gitignore

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