Git

git提交或克隆报错fatal: unable to access

解决方式见git提交或克隆报错fatal: unable to access_HZC8的博客-CSDN博客_unable to access git

问题

git在拉取或者提交项目时,中间会有git的http和https代理,但是我们本地环境本身就有SSL协议了,所以取消git的https代理即可,不行再取消http的代理。

解决办法

在项目文件夹的命令行窗口执行下面代码,取消git本身的https代理,使用自己本机的代理。

1
2
git config --global --unset http.proxy//取消http代理
git config --global --unset https.proxy//取消https代理

2023/01/10 新增如果还是不行,可以把网络的DNS配置改为 114.114.114.114 即可正常访问。

git提交报错OpenSSL SSL_read: Connection was reset, errno 10054

问题

开了VPN老是报各种离谱错误。

解决方法

1
2
git config --global http.sslVerify false  #修改设置,解除ssl验证

Failed to connect to github.com port 443 after 2289 ms: Connection refused

问题

如题,在终端执行git clone时提示Failed to connect to github.com port 443:Connection regused错误

img

解决方案

本地有连接vpn,通过在终端输入以下命令解决:

git config --global http.proxy http://127.0.0.1:7890

说明:7890为本地混合配置的端口号

.gitignore不生效

原因

原因是 .gitignore 只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

简单来说就是,你新添加的忽略项已经被git追踪了。

解决方案

那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交。

1
2
3
git rm -r --cached .
git add .
git commit -m 'update .gitignore'

参考资料

fatal: unable to access ‘xxx.git/’: Recv failure: Connection was reset

解决方案

不知道原因,但是更新一下origin就好了。

1
git remote set-url origin https://github.com/xxx/xxxx.git

参考资料

pre-commit/hook: No such file or directory

问题

如题,执行git push时出现这个问题

1
.git/hooks/pre-commit: line 2: ./node_modules/pre-commit/hook: No such file or directory

原因是当你试图git commit的时候,pre-commit hook最先执行,主要是用来做certain checks, tests,conditions

解决方案

  • 方案一

删除.git/hooks文件夹里的pre-commit文件。如果还是不行可以尝试方案二。

  • 方案二

git commit的时候加上 --no-verify

Github

Github Actions No such file or directory

问题

我确定生成了这个文件或文件夹,但是却报找不到文件或文件夹的错误。如下图所示:

Github Actions No such file or directory

我的workflow如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
name: Build and Deploy
on:
push:
branches:
- main

jobs:
build-and-deploy:
runs-on: ubuntu-latest
if: ${{ contains(github.event.head_commit.message, 'deploy:') }}
steps:
- name: Checkout 🛎️
uses: actions/checkout@v3

- name: Set env
run: |
echo "name=$(echo '${{ github.event.head_commit.message }}' | cut -d ':' -f 2)" >> $GITHUB_ENV
echo "time=$(date +"%Y-%m-%d")" >> $GITHUB_ENV
- name: 安装 Node
uses: actions/setup-node@v3
with:
node-version: "16.15.1" # replace with your node version

- name: cache
uses: actions/cache@v3
id: cache
with:
path: node_modules
key: ${{runner.OS}}-${{hashFiles('**/*-lock.json')}}

- name: Install Dependency
if: steps.cache.outputs.cache-hit != 'true'
run: |
npm install
sudo apt-get install ghostscript libgs-dev
- name: Build and Export Slides
run: |
echo "${{ env.name }}.md"
npm run build -- ./slides/${{ env.name }}.md --base /slidev_template/${{ env.name }}/
npm run export -- ./slides/${{ env.name }}.md
file_pattern: "*.md ./exports/*.pdf"

- name: Checkout for changes 🛎️
uses: actions/checkout@v3

- name: Compression pdf
run: |
chmod +x shrinkpdf.sh
./shrinkpdf.sh ${{ env.name }}-export.pdf > ./exports/${{ env.name }}.pdf
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: gh-pages # The branch the action should deploy to.
folder: slides/dist # The folder the action should deploy.
target-folder: ${{ env.name }}
clean: false

- name: Update README
run: |
echo "|${{ env.name }}|${{ env.time }}|[https://lizilong1993.github.io/slidev_template/${{ env.name }}](https://lizilong1993.github.io/slidev_template/${{ env.name }}/)|[https://cdn.jsdelivr.net/gh/lizilong1993/slidev_template@main/exports/${{ env.name }}.pdf](https://cdn.jsdelivr.net/gh/lizilong1993/slidev_template@main/exports/${{ env.name }}.pdf)|" >> README.md
echo "|${{ env.name }}|${{ env.time }}|[https://lizilong1993.github.io/slidev_template/${{ env.name }}](https://lizilong1993.github.io/slidev_template/${{ env.name }}/)|[https://cdn.jsdelivr.net/gh/lizilong1993/slidev_template@main/exports/${{ env.name }}.pdf](https://cdn.jsdelivr.net/gh/lizilong1993/slidev_template@main/exports/${{ env.name }}.pdf)|" >> README.CN.md
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Automated Change
branch: main
commit_options: "--no-verify --signoff"

解决方案

因为我错误的在执行这一步之前Check Out了。

我这里是copy别人的代码没仔细审查,导致我工作流开始Check Out后后面中途又一次Check out了。。。

1
2
3
4
5
6
7
- name: Checkout for changes 🛎️
uses: actions/checkout@v3

- name: Compression pdf
run: |
chmod +x shrinkpdf.sh
./shrinkpdf.sh ${{ env.name }}-export.pdf > ./exports/${{ env.name }}.pdf

可以移除Check Out,影响不大;也可以把Check Out移动到最后面。

Github Actions Permission denied

执行shrinkpdf.sh提示拒绝访问。

原因

权限不够

解决方案

1
2
chmod +x   shrinkpdf.sh
sudo ./shrinkpdf.sh in.pdf > out.pdf

kex_exchange_identification: Connection closed by remote host

未解决,怀疑是Clash导致的,但是网上的解决方案都不行,只能放弃SSH改回HTTPS连接Github了。。。