从入门到爱上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 b
git merge [name]
:合并分支
分支的作用就是可以让我们拥有:
- 多人分块开发
- 在分支上修改bug,改好后提交到主分支
3.2 标签
git tag
:列出已有的标签git tag [name]
:创建标签git push [shortName] [name]
:将标签推送到远程仓库git push origin v1.0
git checkout -b [branch] [name]
:检出标签
标签的作用就是可以让我们拥有:
- 博客1.0版本
- 博客1.0改版本
- 博客1.0最终改版本
- 博客1.0最最终改版本
- 博客2.0版本🤫
四、idea集成Git
自学吧,idea集成挺简单的👻
五、结尾
- 对于Git知识内容就总结这么多,若想深入学习等待后续更新。
- 我将会继续更新关于Java方向的学习知识,感兴趣的小伙伴可以关注一下。
- 文章写得比较走心,用了很长时间,绝对不是copy过来的!
- 尊重每一位学习知识的人,同时也尊重每一位分享知识的人。
- 😎你的点赞与关注,是我努力前行的无限动力。🤩