Git知识点
Git 的三个不同的程序
Git Bash: Unix 与 Linux 风格的命令行,使用最多,推荐最多
Git CMD: Windows 风格的命令行
Git GUI: 图形界面的 Git ,不建议初学者使用,尽量先熟悉命令
Git Bash 内的 Linux 命令
cd
改变目录cd ..
回退到上一个目录,直接 cd 进入默认目录pwd
显示当前所在的目录路径ls
(ll) 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细touch
新建一个文件,如 touch index.js 就会在当前目录下新建一个 index.js 文件rm
删除一个文件, 如 rm index.js 就会把 index.js 文件删除mkdir
新建一个目录,就是新建一个文件夹rm -r
删除一个文件夹,如 rm -r src 删除 src 目录rm -rf /
删除 Linux 中的所有文件mv
移动文件,如 mv index.html src ,这里 index.html 是我们要移动的文件,src 是目标文件夹,需要这俩在同一目录下reset
重新初始化终端/清屏clear
清屏history
查看命令历史help
帮助exit
退出#
表示注释
Git 的六大命令
Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git pull
Git的配置
# 全局配置 F:\Git\etc\gitconfig
git config --system --list
# 用户配置 C:\Users\dell\.gitconfig
git config --global --list
Git 查看文件状态
# 查看指定文件状态
git status [filename]
# 查看所有文件状态
git status
# 添加所有文件到暂存区
git add .
# 提交暂存区中的内容到本地仓库 -m表示提交信息
git commit -m
Git常用指令
# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r
# 新建一个分支,但依然停留在当前分支
git branch [branch-name]
# 新建一个分支,并切换到该分支
git checkout -b [branch]
# 合并指定分支到当前分支
$ git merge [branch]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
实战
基于Git的工作流程,我们需要先将 Github 仓库 hnu_oj_team 克隆至本地作为工作副本进行编辑
创建文件夹 E:\hnu_oj_team ,用于工作副本的搭建,由于之前搭建博客时安装过 Git 并连接好了 ssh 密钥,我们直接在工作文件夹内右击选择 Git Bash Here
(不清楚 Git GUI Here 能不能克隆),输入 git clone git@github.com:lixiaobai09/hnu_oj_team.git
就克隆了 Github 仓库的文件
Tip:可以通过输入 git --help
来获取更多信息
我们可以看到在工作文件夹内有一隐藏文件夹 .git ,这个不算工作区,而是 Git 的版本库。
在工作文件夹内新建文件 Lizhuocheng.md ,在文件内写下自己的笔记
写完后我们先在 Git Bush 界面输入 git add .
,将该路径下所有文件添加到暂存区
再输入git status
,查看文件的状态
再输入git commit -m "My first push!"
,提交暂存区中的内容到本地仓库,其中 -m 表示提交信息
再输入git status
,再次查看文件的状态
最后输入 git push
便可将暂存区内的内容发送至 Github 仓库内的主分支
但这里由于学长开启了 main 分支保护,我们无法直接 push 到主分支,需要先 push 到自己的 Github 分支再发起 pull request,
在 Git Bush 界面输入 git branch
,便可以查看本地的分支,这里是main
分支
所以我们输入 git push origin main:Lizhuocheng-dev
,便可以将本地仓库内的内容 push 到自己的 Github 分支
Git push 成功!
注:不要在自己的本地文件夹删除 main 分支中别人的文件,否则合并到主分支时,别人对应的文件就消失了
参考网址
一些优秀的OJ
这些 OJ 的前端做得非常优秀,是我们学习的榜样
SYZOJ Online Judge System 的Github仓库
在学习中发现的其他知识积累
markdown 文本编辑器 Typora 的使用方法及技巧
在 Markdown 中用 mermaid 画流程图和 ER 图
这篇文章我同时也放在Github项目仓库中了