git高级使用
git平时使用,各个IDE都有图形化操作,只是创建、推送、拉取,很容易,没什么说的,但是,有时候会出现一些奇怪的问题,或者仓库越来越大,这时候一般是因为什么都不懂,就开始使用图形化界面造成的
初步认识git
git,一种版本管理、合作开发的工具,个人使用可以视为云备份,接下来全部以个人使用为例,不涉及团队协作,开发环境为 ubuntu2004
、vscode
,云备份以 github
和 gitee
为例
好处,再也不怕论文被
女朋友
删除了,随便删,额,前提是女朋友不懂git或者只懂皮毛,没女朋友的没这烦恼 ~
什么时候需要用git
- 使用
latex
写论文 - 学习、开发python等项目,需要不断更新迭代
- 记笔记,尤其是会不断翻看、修改的笔记
以上几种情况下,你可以随时找到任何时刻(提交记录)笔记,可以查看比较前后修改内容,可以多处云备份
git与github、gitee、gitlab关系
git只是一个版本管理工具,可以脱离后者,后者基本上相当于一个云备份,可以多人协助,也可以在线修改
从创建第一个项目开始
本地
如果你本地已经有项目 test
了,打开路径
1 | cd test |
- 安装git
windows可以去官网,linux和mac我建议用源安装,mac可以 brew
百度怎么用,我这里 ubuntu
用的apt
1 | sudo apt install git |
配置
你的邮箱,用常用的,如果是开源项目,别人可能通过这个联系你
1
git config --global user.email "你的邮箱"
1
git config --global user.name "你的昵称名"
初始化
1
git init
这时候其实是在当前目录创建了一个
.git
文件夹,里面有些信息注意,要先创建忽略文件,再提交!
忽略文件
.gitignore
创建忽略文件的目的是,不要什么文件都记录历史,一些间接生成或者缓存文件,没必须,全部追踪会导致git项目越来越大
比如用
latex
写论文,编译时,会产生很多文件,都没必要,甚至最后生成的pdf文件都可以不记录,因为凡是无法用IDE
直接打开的,就无法增量追踪忽略文件即当前目录创建文件
.gitignore
,编写规则,可以直接是文件夹整个忽略,可以是某类型文件忽略1
2
3
4
5
6
7
8
9
10
11# 忽略test开头的所有文件夹或文件
test*
# 忽略mac系统产生的无意义文件
.DS_Store
# 忽略node的库文件
node_modules/
# 忽略python的缓存编译
__pycache__/这个很多,不同类型项目有不同的忽略,比如在
gitee
上创建新项目时,可以选择编程语言,勾选忽略文件
,会自动创建适用于此语言的忽略文件,必须注意,初始化以后,一定要做好这个,不然后期比较麻烦提交
分两步
1
git add .
1
git commit -m "提交说明,你做了什么,简洁一些"
会自动记录时间,所以提交说明里不需要时间
vscode
其实上面初始化、提交、甚至查看历史记录,都可以用vscode处理,尤其是历史记录,vscode方便很多
- 安装vscode
官方下载,国内可能比较慢
安装扩展
这几个必须安装
第1个:编辑页面右上角,点时间那个小圆圈,可以查看提交历史
第3个:可以看到整个项目提交情况,文件变化,包括分支
关联到云端
建议配置一下 github、gitee的ssh密钥,关联时,选择 ssh
那个url,以后就不用输入密码了
有空再写,先把命令放在这里
1 | # 查看目前关联了哪些 |
git高级命令
不到万不得已,不要乱玩下面的,平时会提交、推送、拉取就行
从某次提交(这次提交之前都属于这个分支)新建分支
1 | git branch master 96a99d1 |
后面那个id是 commit 以后生成的,平时输入前一两位,tab
快捷键就能补全了,我不知道这是不是和我配置的 oh-my-zsh
和 p10k
有关系
删除分支
1 | git branch -D tmp |
切换到某个分支
1 | git checkout master |
切换到某次提交
1 | git checkout 9dcc66c |
合并分支,比如现在你在 master
分支,你想把 tmp
分支合并到 master
1 | git merge tmp |
本文作者:yuhldr
本文地址: https://yuhldr.github.io/posts/594541bc.html
版权声明:转载请注明出处!