从入门到爱上Git
时间不在于你拥有多少,而在于你怎样使用——————时之沙 · 艾克
一、Git设置
1.1 Git全局设置
- 当我们安装好Git以后,我们需要对Git进行账号、邮箱的设置
- 设置用户信息
git config --global user.name "meteor"
git config --global user.email "meteor@.com" - 查看配置信息
git config --list
1.2 Git获取仓库
在本地初始化一个Git仓库(不常用):
- 在你创建的目录下执行
git init,会出现一个隐藏的.git文件夹

- 可以看到我们初始化一个仓库以后,出现了master分支,证明我们已经创建成功
从远程仓库克隆(常用):
- 直接在我们创建的文件夹下面,使用
git clone https://gitee.com/lx-meteor/reggie.git - 这样我们就可以从远程仓库中,获取项目。
1.3 Git详细概念
版本库:前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多的配置信息、日志信息和文件版本信息等。
工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放我们的项目代码。
暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫stage。暂存区是一个临时保存修改文件的地方。

- 这个图也很好理解,当我们在自己的项目下编码后(工作区),用
git add命令,将项目放入到.git文件下的index文件里(暂存区),然后就用git commit命令,放到了(版本库)中。

我们可以通过
git status来查看当前仓库状态untracked未跟踪(没有被Git控制)
tracked已跟踪(已经被Git控制)
- Unmodified未修改状态
- Modified已修改状态
- Staged已暂存状态

二、Git常用命令
2.1 本地仓库
git status:查看文件状态git add:将文件的修改加入暂存区git reset:将暂存区的文件取消或者是切换到指定版本git commit:将暂存区的文件修改提交到版本库git log:查看日志

红色代表修改了但是没有放到暂存区
绿色代表修改了,并且放到了暂存区
通过
git log查看我们的提交记录

使用
git reset --hard ec8c25a05c4db2dab30ef4ad2d30cfd9b5924dbf恢复我们曾经提交的文件,时空穿梭!
2.2 远程仓库
git remote:查看远程仓库git remote add [remote-name] http...:添加远程仓库git clone http...:从远程仓库克隆git pull [remote-name] [branch-name]:从远程仓库拉取git push [remote-name] [branch-name]:推送到远程仓库我们要先提交到本地仓库,在提交到远程仓库
无脑步骤教学:
- git clone + 仓库链接(克隆远程仓库项目)
- git add .(将项目添加到暂存区)
- git commit -m "message" *(添加到本地库)
- git push origin master

- 在我们刚建仓库的时候,也可能提交会出现bug,因为我们的仓库中有readme文件,而本地却没有。
git push -f origin master:仅第一次使用。(慎用!♂️)
三、分支与标签操作
3.1 分支
git branch:查看分支git branch [name]:创建分支git checkout:切换分支git push [shortName] [name]:推送至远程仓库分支git push origin bgit merge [name]:合并分支
分支的作用就是可以让我们拥有:
- 多人分块开发
- 在分支上修改bug,改好后提交到主分支
3.2 标签
git tag:列出已有的标签git tag [name]:创建标签git push [shortName] [name]:将标签推送到远程仓库git push origin v1.0git checkout -b [branch] [name]:检出标签
标签的作用就是可以让我们拥有:
- 博客1.0版本
- 博客1.0改版本
- 博客1.0最终改版本
- 博客1.0最最终改版本
- 博客2.0版本

四、idea集成Git
自学吧,idea集成挺简单的
五、结尾
- 对于Git知识内容就总结这么多,若想深入学习等待后续更新。
- 我将会继续更新关于Java方向的学习知识,感兴趣的小伙伴可以关注一下。
- 文章写得比较走心,用了很长时间,绝对不是copy过来的!
- 尊重每一位学习知识的人,同时也尊重每一位分享知识的人。
- 你的点赞与关注,是我努力前行的无限动力。
从入门到爱上Git的更多相关文章
- git入门手册:git的基本安装,本地库管理,远程上传
前言: git是分布式的版本库控制系统,它能方便你将自己的代码寄存于远程服务器上,从而实现集体合作开发.git有GUI 图形界面,然而使用终端命令仍是主流.以下基于Ubuntu系统操作git(其方式也 ...
- android 入门-android Studio git 克隆
最后是完成 以上是如何从android studio Git 克隆Github的项目
- Git入门指南十一:Git branch 分支与合并分支
十五. Git branch 分支 查看当前有哪些branch bixiaopeng@bixiaopengtekiMacBook-Pro xmrobotium$ git branch * master ...
- [置顶] 【Git入门之一】Git是神马?
1.Git是神马? 一个开源的分布式版本控制系统,可以有效的高速的控制管理各种从小到大的项目版本.他的作者就是大名鼎鼎的Linux系统创始人Linus. 2.分布式又是神马? 先看看集中式.简单说来, ...
- git 入门教程之 git 私服搭建教程
git 私服搭建教程 前几节我们的远程仓库使用的是 github 网站,托管项目大多是公开的,如果不想让任何人都能看到就需要收费,而且 github 网站毕竟在国外,访问速度太慢,基于上述两点原因,我 ...
- git 入门教程之 git bash 竟然不支持 tree 命令
开门见山 git bash 是 Windows 用户安装 git 时默认安装的命令行工具,不仅界面漂亮功能也不错,大多数情况下可以替代 Windows 原生的 cmd 命令行. 然而,git bash ...
- android 入门-android Studio git配置
以后在整理
- Git学习记录 力做全网最强入门教程
目录 Git学习记录 力做全网最强入门教程 什么是GitHub? 什么是Git? Git的配置 Git的安装(只介绍windos操作系统下) Git的配置 至此我们的入门教程到此结束,更新中级教程要等 ...
- [转]VS2015 Git 源码管理工具简单入门
VS2015 Git 源码管理工具简单入门 1.VS Git插件 1.1 环境 VS2015+GitLab 1.2 Git操作过程图解 1.3 常见名词解释 拉取(Pull):将远程版本库合并到本 ...
随机推荐
- Ajax简单运用(JavaScript-----jQuery-------)
首先引用 jQuery <script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.4.1.min.js"> ...
- [AcWing 68] 0到n-1中缺失的数字
点击查看代码 class Solution { public: int getMissingNumber(vector<int>& nums) { if (nums.empty() ...
- 2022 Java生态系统报告:Java 11超Java 8、Oracle在缩水、Amazon在崛起!
近日,New Relic发布了最新的2022 Java生态系统报告,这份报告可以帮助我们深入的了解Java体系的最新使用情况,下面就一起来看看2022年,Java发展的怎么样了,还是Java 8 YY ...
- Linux系统创建可执行文件软链接
技术背景 由于创建软链接这个事情,在算法开发的日常中使用到的并不是很多,因此本文也是做一个简单的回顾.这里我们使用的案例是通过TMalign这个蛋白质打分文件,在编译好可执行文件之后,可以使用建立软链 ...
- clientWidth、offsetWidth、scrollWidth……
1.元素视图属性 clientWidth:元素内容可视区宽度(水平方向 width + 左右 padding). clientHeight:元素内容可视高度(垂直方向 height + 上下paddi ...
- Java 效率工具, 大幅度提高开发效率
你是否有遇到过这样的情况,在开发过程中需要比较两列数据,但使用文本比对工具的话他是按行基准比对的,我还得对每列数据先进行排序,但排序又去哪里排, 想到 excel 可以排序 , 折腾下来,特别麻烦, ...
- 一次 HTTP 请求就需要一次 TCP 连接吗?
一次 HTTP 请求就需要一次 TCP 连接吗? 本文写于 2021 年 2 月 9 日 太长不看版本:短连接需要,长连接不需要. 一次 HTTP 请求就需要一次 TCP 连接吗? TCP 的连接与断 ...
- npm 是什么?
npm 是什么? 本文写于 2020 年 6 月 16 日 最近帮几个同学装开发环境,发现他们会各种"卡死"在 npm 安装一些包的过程中. 他们会非常纠结这个命令我明明敲的和网上 ...
- SpringMVC乱码解决
解决需要四个步骤:1.jsp页面编码 2.tomcat server.xml编码 3.使用filter对编码进行过滤 4.数据库编码设置 说明:四个地方的编码需要一致:本文使用gbk 1.js ...
- Netty源码研究笔记(4)——EventLoop系列
1. Netty源码研究笔记(4)--EventLoop系列 EventLoop,即事件驱动,它是Netty的I/O模型的抽象,负责处理I/O事件.任务. 不同的EventLoop代表着不同的I/O模 ...