对于git,我并不是有多么精通,写这篇文章只是来总结一下我使用git的半年多以来的一个总结(我也只是针对windows的介绍):
现在2024-10-11,文章最初记录于19年,现在看来确实有很多不完善的地方,现在闲来无事,能完善点就完善点,只记录一些基本操作,很多操作我这么多年也没用过,我觉得也没必要,要想看更完整的,直接看官网文档就好(传送门:git-scm.com/book/en/v2)
1.git简介
git安装
去官方文档下载,传送门:git-scm.com/
详细文档也在官网也有体现,当然我下载时候是相当的慢,下面的网盘链接是exe程序供使用(但有期限,过期评论我会更新):
pan.baidu.com/s/19KO025R3…
提取码:ohtx
git配置
因为git是分布式系统,所以每台机器都要对应一个用户名和一个邮箱。 下面使用下面命令进行git配置:
git config --globle user.name "Name" //配置名字
git config --globle user.email "xxx@qq.com" // 配置Email
当然也可以只针对某个仓库进行局部配置:
git config user.name "用户名"
git config user.email "邮箱"
2.远程仓库
现如今可以存放远程仓库的有太多了,github、gitee、华为云等等:
我常用是github(这也是我一直在用的,当然毕竟服务器都在国外,存在网速不好,拉去代码和推送代码超时的问题),国内也有码云、华为云可供使用。
3.git基本使用
克隆下载项目再次再次再次再次
若一个项目并不在本地,而是已经在云服务器上,那么需要通过下面命令将代码下载下来,:
git clone 'https://xxxx.html'
创建分支
// 利用 git branch 创建分支,其中dev为创建的分支名
git branch dev
// 利用git checkout 切换分支
git checkout dev
// 当然也可以将二者进行结合:
git checkout -b dev
// 在git2.23版本以上,除了用git checkout 切换分支外,也可以使用git switch切换分支
git switch dev
// 此时二者的结合写法为:
git switch -c dev
删除分支
删除某个分支的前提是切换到要删除的分支外的其他任何一个分支
git branch -d dev
// 若某个分支的代码还没有进行合并,git会阻止你使用‘-d’,那么此时需要强制删除
git branch -D dev
// 删除远程仓库某个分支
git push origin --d xxx
拉去分支代码
// 以当前分支为dev,并拉去仓库dev分支为例
git pull origin dev
// 若当前分支为dev,拉去仓库release分支,并且本地不存在release分支
git checkout -b release origin/release
合并分支代码
// 若将分支A的内容合并到分支B
// 切换到分支B
git checkout B
// 获取分支B的最新代码
git pull origin A
// 合并
git merge A
// 再走提交流程最后推送代码到对应仓库
git remote
我们可以利用git remote -v的代码来查看你本地项目所对应的远程仓库的路径;
也可以利用如下代码更改origin位置:
// xxx为更改后的url
git remote set-url origin xxx
优秀,git remote这个模块没写那么多废话,不用删了,值得自我肯定一下!!!😊
添加文件到暂存区
// 添加一个文件
git add test.md
// 添加多个文件
git add test1.md test2.md
// 添加所有更改文件
git add .
将暂存区文件提交到git-history中
git commit -m "feat 自定义提交内容"
当然commit提交内容,虽然可以畅所欲言的写,但也是有规范的:
| type类型 | 备注 |
|---|---|
| docs | 文档更新 |
| fix | 修复bug |
| style | 代码格式化 |
| refactor | 代码重构 |
| config | 配置文件更改 |
| init | 项目初始化 |
| merge | 合并分支 |
| 下面这些我也没用过,看看就好 | |
| deps | 依赖包更新 |
| build | 打包项目 |
| revert | 回滚提交 |
| test | 添加或修改测试 |
| ci | 集成文件更改 |
可能还有些其他的,想了解还是以官方文档为主啦
推送代码
// 以当前分支为dev,并推送到仓库dev分支为例
git push origin dev
获取最新云仓库分支
git fetch
查看分支
// 查看本地分支
git branch
// 查看本地分支以及仓库分支
git branch -a
// 有时候远程仓库存在本地仓库没有的分支时候,记得先fetch一下,再git branch -a
4.git其他命令
git status
通过git status 命令显示出的文件总有三种状态,分别是:
- 已添加至暂存区,待提交(git add后);
- 已修改,未暂存;
- 未追踪状态文件。
git tag
-
Git tag –a(打标签) v0.1(标签名) –m’xxxx’(提交的信息)
-
Git push - - tag
-
过滤操作
Git tag –l ‘xxx’//只过滤一个
Git tag –l ‘xxx.’//过滤满足表示任意
-
补充标签
Git log - - pretty=oneline //查看目前有多少提交
Git tag –a xxx(标签名) xxxxx(id号)
撤销上一次提交
git reset HEAD^
撤销上一次提交,并且会重置暂存区和工作目录
git reset --hard HEAD^
删除远程仓库中的某一个仓库:
选择所要删除的仓库->选择setting->找到Danger Zone ,选择删除仓库->选择delete this repository->填写删除的仓库名->填写账号密码,具体如下图:
常见问题
git pull 时候遇到:fatal: refusing to merge unrelated histories
git pull origin master --allow-unrelated-histories;
注意:git pull 、git push 、git merge出现此问题相同解决办法
持续更新
常见问题嘛,,,遇到了我记得更新~~~~ ⌨⌨⌨
总结
希望看到此篇文章的各位大爷们如果觉得还凑合那就点个赞再走~,我要当网红!!!!
上面是当时的想法,现在嘛平安是福,开心享乐!!!还会有不足,多担待~~~