通过 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)。
天真的方法是find dir1 dir2 dir3 -type d -name .git | xargs -I {} dirname {}
,但对我来说太慢了,因为我在 git 存储库中有很多深层文件夹结构(至少我认为这是原因)。我已经读过关于我可以prune用来防止 find 在找到某些内容后递归到目录中的内容,但有两件事。我不确定这是如何工作的(我的意思是我不明白prune虽然我已经阅读了手册页),第二个它在我的情况下不起作用,因为它会阻止find递归到.git文件夹但不是全部其他文件夹。
所以我真正需要的是:
对于所有子目录,检查它们是否包含.git文件夹,如果它停止在此文件系统分支中搜索并报告结果。如果这也能从搜索中排除任何隐藏的目录,那就太完美了。
我已经在我的中设置了 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=autogrep --color=always不幸的是,这些自定义颜色被忽略:
git grep --color=autogit grep --color=always如何git grep使用以上$GREP_COLORS颜色?
每次执行git pullor 时git reset,git都会重置对我所做的权限和所有权的更改。你自己看:
#!/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) 我想用 git build package.(gbp) 构建一个 debian 包我通过了所有步骤,至少,当我输入时gbp buildpackage,出现了这个错误。
这是什么意思?我该怎么办?
gbp:error: upstream/1.5.13 is not a valid treeish
Run Code Online (Sandbox Code Playgroud) 我有一些问题,git-lfs我认为升级到最新版本git可以解决这个问题。gitDebian 中的当前版本是2.1.4,官方网站上的当前稳定版本是2.6.4. 我只能从源代码构建还是可以添加一些外部存储库?
我正在调整 Git 的寻呼机,但我遇到了一些问题。
我想要的是:
我目前的配置是:
$ git config --global core.pager
less -+F -+X -+S
Run Code Online (Sandbox Code Playgroud)
除了最后一个之外,这可以完成所有操作。
但是,如果我删除-+F,则在单屏的情况下将没有输出。如果我也删除-+X,输出又回来了,但我无法通过触摸板滚动less。
是否有可以满足上述所有要求的解决方法?
我使用这种方法跟踪我的点文件:
$HOME/repos/dotfiles.$HOME/.vim/vimrc,不是$HOME/repos/dotfiles/vimrc.git --git-dir=$HOME/repos/dotfiles --work-tree=$HOME ...管理事情。(实际上,我有一个函数g()可以在我进入时扩展为上述命令$HOME,git否则扩展为。)
一切都很好,除了...
问题: 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) 出于懒惰的原因,我推送了一堆带有默认消息的提交,现在变得很麻烦,因为我真的不知道每次提交都做了什么更改。
如何仅编辑先前提交的消息并(如果可能)保留提交树?
我正在尝试安装 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几天前成功安装的东西时遇到了依赖性问题。
git ×10
debian ×3
apt ×1
autocomplete ×1
certificates ×1
colors ×1
compiling ×1
dependencies ×1
find ×1
github ×1
grep ×1
less ×1
packaging ×1
permissions ×1
ssl ×1
zsh ×1