标签: git

仅为 Github 添加 SSL 证书(并非来自 ca-certificates 包的所有证书)

通过 HTTPS 访问 Github 时出现以下错误:

error: server certificate verification failed. 
CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
Run Code Online (Sandbox Code Playgroud)

这是因为我在/etc/ssl/certs/. 我知道如何解决这个问题。我可以ca-certificates从 Debian 存储库安装该软件包。然而,问题是这将安装我不一定要接受/信任的所有证书(数千个)。

如何仅为 Github 安装证书?

子问题/子问题

在另一台机器上,ca-certificates已经安装了软件包并且 git 可以工作,我注意到其中的一些证书/etc/ssl/certs/是每个文件一个证书,而其他证书是一个文件中的多个证书。包含 Github 证书的特定文件包含/etc/ssl/certs/ca-certificates.crt150 多个其他证书:

$ grep 'BEGIN CERTIFICATE' /etc/ssl/certs/ca-certificates.crt | wc -l
159
Run Code Online (Sandbox Code Playgroud)

我如何才能找到这 159 个证书中的哪一个是我需要的?(除了蛮力 - 将文件切成两半并检查两半,重复while n > 1)。

git ssl github certificates

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

如何在给定文件夹中查找所有 git 存储库(快速)

天真的方法是find dir1 dir2 dir3 -type d -name .git | xargs -I {} dirname {} ,但对我来说太慢了,因为我在 git 存储库中有很多深层文件夹结构(至少我认为这是原因)。我已经读过关于我可以prune用来防止 find 在找到某些内容后递归到目录中的内容,但有两件事。我不确定这是如何工作的(我的意思是我不明白prune虽然我已经阅读了手册页),第二个它在我的情况下不起作用,因为它会阻止find递归到.git文件夹但不是全部其他文件夹。

所以我真正需要的是:

对于所有子目录,检查它们是否包含.git文件夹,如果它停止在此文件系统分支中搜索并报告结果。如果这也能从搜索中排除任何隐藏的目录,那就太完美了。

find git

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

git grep 颜色与 grep 自定义颜色不同

我已经在我的中设置了 grep 颜色~/.bashrc

export GREP_COLORS='ms=01;34:mc=01;34:sl=:cx=:fn=35:ln=32:bn=32:se=36'
Run Code Online (Sandbox Code Playgroud)

他们为

  • grep --color=auto
  • grep --color=always

不幸的是,这些自定义颜色被忽略:

  • git grep --color=auto
  • git grep --color=always

如何git grep使用以上$GREP_COLORS颜色?

grep colors configuration git

12
推荐指数
2
解决办法
3515
查看次数

有没有办法防止 git 在 pull 时更改权限和所有权?

每次执行git pullor 时git resetgit都会重置对我所做的权限和所有权的更改。你自己看:

#!/usr/bin/env bash
rm -rf 1 2

mkdir 1
cd 1
git init
echo 1 > 1 && git add 1 && git ci -m 1

git clone . ../2
cd $_
chmod 0640 1
chgrp http 1

cd ../1
echo 12 > 1 && git ci -am 2

cd ../2
stat 1
git pull
stat 1
Run Code Online (Sandbox Code Playgroud)

输出:

$ ./1.sh 2>/dev/null | grep -F 'Access: ('
Access: (0640/-rw-r-----)  Uid: ( 1000/ …
Run Code Online (Sandbox Code Playgroud)

permissions git

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

“gbp:error: upstream/1.5.13 is not a valid treeish”是什么意思?

我想用 git build package.(gbp) 构建一个 debian 包我通过了所有步骤,至少,当我输入时gbp buildpackage,出现了这个错误。

这是什么意思?我该怎么办?

gbp:error: upstream/1.5.13 is not a valid treeish
Run Code Online (Sandbox Code Playgroud)

compiling packaging debian git

12
推荐指数
2
解决办法
3857
查看次数

如何在 Debian 8 上安装最新的 git?

我有一些问题,git-lfs我认为升级到最新版本git可以解决这个问题。gitDebian 中的当前版本是2.1.4,官方网站上的当前稳定版本是2.6.4. 我只能从源代码构建还是可以添加一些外部存储库?

debian git

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

如何在没有“-X”的情况下使用“less -F”,但如果只有一页仍然显示输出?

我正在调整 Git 的寻呼机,但我遇到了一些问题。

我想要的是:

  1. 始终彩色输出
  2. 通过触摸板或鼠标滚动
  3. 一屏退出

我目前的配置是:

$ git config --global core.pager
less -+F -+X -+S
Run Code Online (Sandbox Code Playgroud)

除了最后一个之外,这可以完成所有操作。

但是,如果我删除-+F,则在单屏的情况下将没有输出。如果我也删除-+X,输出又回来了,但我无法通过触摸板滚动less

是否有可以满足上述所有要求的解决方法?

less git

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

使用“--git-dir=... --work-tree=...”完成 Zsh git 文件名:不是 git 存储库

我使用这种方法跟踪我的点文件:

  • 一个裸存储库驻留在$HOME/repos/dotfiles.
  • 我所有的点文件都驻留在它们的正常位置,例如$HOME/.vim/vimrc,不是$HOME/repos/dotfiles/vimrc.
  • 我跑来git --git-dir=$HOME/repos/dotfiles --work-tree=$HOME ...管理事情。

(实际上,我有一个函数g()可以在我进入时扩展为上述命令$HOMEgit否则扩展为。)

一切都很好,除了...

问题: Zsh git 文件名补全不起作用。

例子:

% pwd
/home/brian
% g status                                                                                                                                         ~
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   .vim/vimrc
        modified:   .xmonad/xmonad.hs

no changes added to commit (use …
Run Code Online (Sandbox Code Playgroud)

zsh git autocomplete

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

Git:仅编辑先前提交的消息

出于懒惰的原因,我推送了一堆带有默认消息的提交,现在变得很麻烦,因为我真的不知道每次提交都做了什么更改。

如何仅编辑先前提交的消息并(如果可能)保留提交树?

git

12
推荐指数
2
解决办法
1666
查看次数

在 Debian 上安装 Git 时未满足的依赖项

我正在尝试安装 gitDebian 8.6 Jessie并且遇到了一些依赖性问题。奇怪的是,Git当我习惯 Linux 时,我最近在 VM 中安装了几次没有任何问题。

apt-get install git

结果

The following packages have unmet dependencies:
  git : Depends: liberror-perl but is not installable
        Recommends: rsync but it is not installable
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)

更新

我的 sources.list

在此处输入图片说明

好像是我系统的问题。我无法再正确安装任何东西。我在安装类似Pulseaudio几天前成功安装的东西时遇到了依赖性问题。

debian git apt dependencies package-management

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