Do you know what Git is?
Git 是一个分布式版本控制系统,主要是用于管理开发过程中的源代码文件(Java类,xml文件,html页面等)。可用于代码回溯,版本切换,多人协作开发,远程备份等场景。时光不能倒流,但代码有记录并能回溯,且有平行宇宙。
文件通过Git仓库来储存和管理,Git仓库分为两种:
整体工作流程如下:
各个命令作用如下:
我们可以直接借助互联网上的一些代码托管服务来搭建远程仓库,例如gitee,github等,由于gitee服务器在国内,访问速度较快,此处建议使用gitee作为远程仓库。
当安装Git后首先要做的事情是设置用户名称和email地址,因为每次Git提交都会使用该用户的信息。
在Git命令行中执行下面命令:
git config --global user.name "guanzhi"git config --global user.email "guanzhi"
git config --list
要使用Git对我们的代码进行版本控制,首先需要获得Git仓库。获取Git仓库通常有两种方式:
要使用Git对我们的代码进行版本控制,首先需要获得本地仓库
git clone 远程仓库url
Git工作区中的文件存在两种状态
注意:这些文件的状态会随着我们执行Git的命令发生变化。
作用:查看的修改的状态(暂存区、工作区)
命令形式:
git status
作用:添加工作区一个或多个文件的修改到暂存区
命令形式:
git add 单个文件名
git add .
或
git add *
作用:提交暂存区内容到本地仓库的当前分支
命令形式:
git commit -m '注释内容'
作用:查看提交记录
命令形式:
git log
作用:版本切换,当前所有的代码都会回滚到切换到的版本所处状态
命令形式:
git reset --hard commitID
commitID可以使用git log指令查看
git reflog 这个指令可以看到已经删除的提交记录
此操作需先初始化本地库,然后与已创建的远程库进行对接。
命令:
git remote add 远端名称 仓库路径
远端名称:默认是origin,取决于远端服务器设置
仓库路径:从远端服务器获取此URL
命令:
git remote
或
git remote -v
如果你想获得一份已经存在了的Git远程仓库的拷贝,git可以克隆该Git仓库服务器上的几乎所有数据(包括日志信息,历史记录等)。
克隆仓库的命令格式是:
git clone 仓库路径
需要先将文件commit给本地仓库管理,然后推送远程
命令:
git push 远端名称 远端分支名称
首次push到远程仓库可能需要进行身份验证,这是只需要输入注册托管平台的账号密码即可。
git pull命令的作用是从远程仓库获取最新版本并合并到本地仓库。
命令格式:
git pull 远端名称 远端分支名称
注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存有文件,此时再从远程仓库拉去文件的时候会报错。(fatal:refusing to merge unrelated histories)
解决只需在命令后加入参数即可:
git pull 远端名称 远端分支名称 --allow-unrelate-histories
使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。
我对此的理解是:主号开了个分身去练级,如果提高了可以融合回本体,如果bug了可以舍弃,完全不影响本体。
通过git init命令创建本地仓库时默认会创建一个master分支。
git branch
git branch -r
注:如果本地仓库是通过git init获得而不是克隆则无法查看到远程分支名称。输入如下指令后再查看即可:
git remote update origin --prune
# 更新远程主机origin 整理分支
git branch -a
命令:
git branch 分支名称
命令:
git checkout 分支名称
命令:
git push 远端名称 分支名称
命令:
git merge 被融合分支名称
# 首先checkout到一个分支。
# 然后选择将哪个分支融合于此。
git branch -d 分支名称
git branch -D 分支名称
Git中的标签,指的是某个分支某个特定时间点的状态。通过标签很方便的切换到标记时的状态(类似拍的一张照片,已经定格)。比较有代表的是人们会使用这个功能来标记发布结点(v1.0,v1.2等)。
命令:
git tag
命令:
git tag 标签名称
命令:
git push 远端名称 标签名称
作用:将标签当时状态下载下来,获取当时状态下的代码。
命令:
git checkout -b 创建新分支名称 当时状态标签名称
在IDEA中使用Git获取仓库有两种方式:
本地初始化仓库
从远程仓库克隆
或者在初始界面:
告诉git项目中的哪些文件不需要git管理,例如.idea .iml target等等。
常用:
常用:
常用:
常用:(在屏幕右下角)