快速提交 git 仓库内容
预计 4 min read
思考
随着我刷LeetCode题目的增多,我会记录下刷题过程、时间复杂度和内存消耗,并将LeetCode的截图裁切后上传到图床。
然而,有时我只记得上传博客内容,却忘记了上传截图。为了快速且清晰地提交到Git仓库,我需要一种更高效的方法来管理这些提交。
此文章内容仅使用了免费的Github + JsDelivr图床方案,没有使用阿里云的OSS收费的方法。
实现快速提交功能
需求分析
实现快速提交功能,使提交信息包含当前的时间(精确到分钟),并符合提交规范的内容要求。
实现步骤
写入Bash脚本
将脚本内容保存到一个文件当中,如quick_commit.sh
使用方法
-
在
git bash
中给脚本添加执行权限 -
在需要提交的 Git 仓库中运行这个脚本来快速提交
执行完脚本后就可以看到GitHub
仓库中已经成功上传内容,并且commit提交的内容为获取的时间。
提交内容展示
ISSUE
在此过程中难免会遇到问题,那也是一个成长的过程嘛!
文件格式问题
当我成功使用git bash
提交上去之后,我下意识的使用zsh
去提交我的提交我的代码及图片内容。但是遇到了文件格式的问题。
zsh: ./quick_commit.sh: bad interpreter: /bin/bash^M: no such file or directory
- 在Unix/Linux系统中,行结束符是LF(
\n
) - 在Windows系统中,行结束符是CRLF(
\r\n
)
当你在Windows系统上编辑脚本并在Unix/Linux系统上运行时,脚本文件可能包含Windows格式的行结束符,从而导致“bad interpreter”错误。
解决方法
在VSCode中:
- 打开
quick_commit.sh
文件。 - 右下角可以看到
CRLF
或LF
。 - 点击
CRLF
,然后选择LF
。
在Sublime Text中:
- 打开
quick_commit.sh
文件。 - 点击菜单栏的
View -> Line Endings
。 - 选择
Unix
.
在Notepad++中(Windows):
- 打开
quick_commit.sh
文件。 - 点击菜单栏的
Edit -> EOL Conversion
。 - 选择
Unix (LF)
。
转换完后,保存文件并再次尝试运行脚本。
评论