学习git之前,我们需要先明白一个概念
*版本控制!*
什么是版本控制?
版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
简单说就是用于管理多人协同开发项目的技术。
版本控制工具:Git、SVN、CVS、VSS、TFS,现在影响力最大且使用最广泛的是Git与SVN
版本控制分类
本地版本控制
记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用。
集中版本控制
所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改。用户的本地只有自己以前所同步的版本,如果不连网的话,用户就看不到历史版本,也无法切换版本验证问题,或在不同分支工作。而且,所有数据都保存在单一的服务器上,有很大的风险这个服务器会损坏,这样就会丢失所有的数据,当然可以定期备份。代表产品:SVN、CVS、VSS
分布式版本控制 GIt
每个人都拥有全部的代码!安全隐患!
所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据,但这增加了本地存储空间的占用。
好处就是不会因为服务器损坏或者网络问题,造成不能工作的情况!
软件下载
打开 [git官网] https://git-scm.com/,下载git对应操作系统的版本。
安装:无脑下一步即可!安装完毕就可以使用了!
启动GIt
安装成功后在开始菜单中会有Git项,菜单下有5个程序:任意文件夹下右键也可以看到对应的程序!
****Git Bash:****Unix与Linux风格的命令行,使用最多,推荐最多
****Git CMD:****Windows风格的命令行
****Git GUI****:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令
其他两个用得少
Git配置 超级重要!!!
所有的配置文件,其实都保存在本地!
查看配置 git config -l
Git相关的配置文件:
1)、Git\etc\gitconfig :Git 安装目录下的 gitconfig --system 系统级
2)、C:\Users\Administrator\ .gitconfig 只适用于当前登录用户的配置 --global 全局
设置用户名与邮箱(用户标识,必要)
当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中:
git config --global user.name "自己的用户名" #名称
git config --global user.email [email protected] #邮箱
Git 基本理论(重要)
三个区域
Git本地有三个工作区域:
工作目录(Working Directory)
暂存区(Stage/Index)
资源库(Repository或Git Directory)
如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:
· Workspace:工作区,就是你平时存放项目代码的地方
· Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
· Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
· Remote:远程仓库(如GitHub,Gitee),托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
Git 项目搭建
创建工作目录与常用指令:
工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文。
日常使用只要记住下图6个命令:
本地仓库搭建
创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库。
1、创建全新的仓库,需要用GIT管理的项目的根目录执行:
git init
2、执行后可以看到,仅仅在项目目录多出了一个.git目录,关于版本等的所有信息都在这个目录里面。
克隆远程仓库
1、另一种方式是克隆远程目录,由于是将远程服务器上的仓库完全镜像一份至本地!
git clone [url]
url:就是仓库的地址
2、可以去 gitee 或者 github 上克隆一个测试!
Git 全局设置:
git config --global user.name "Ethan"
git config --global user.email "[email protected]"
创建 git 仓库:
mkdir springsecurity
cd springsecurity
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/EthanYYDS/springsecurity.git
git push -u origin master
已有仓库?
cd existing_git_repo
git remote add origin https://gitee.com/EthanYYDS/springsecurity.git
git push -u origin master
IDEA中集成Git
1、新建项目,绑定git。(在idea项目根目录下打开git bash使用git init哈)
注意观察idea中的变化
2、修改文件,使用IDEA操作git。
添加到暂存区
git add .
提交到本地仓库
git commit -m "提交信息"
push到远程仓库
git remote add origin [url] #url:要push的仓库目的地url地址
git push -u origin master #master:仓库中的分支,master是主分支,也可以自 己新建分支(idea和仓库都要有分支)
3、提交测试
git分支中常用指令:
git branch# 列出所有本地分支
git branch -r# 列出所有远程分支
git branch [branch-name]# 新建一个分支,但依然停留在当前分支
git checkout -b [branch]# 新建一个分支,并切换到该分支
git merge [branch]# 合并指定分支到当前分支
git branch -d [branch-name]# 删除分支
git push origin --delete [branch-name] #删除远程分支
master主分支应该非常稳定(默认创建仓库就会有),用来发布新版本,一般情况下不允许在上面工作,工作一般情况下在新建的dev分支上工作,工作完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。