Git教程(详解)
看了狂神老师的课,记录git笔记
工作必学git
git是一种版本管理器(版本迭代),是一种版本控制工具。
版本控制是一种在开发过程中用于管理我们对文件。目录或工程内容的修改历史,方便我们查看记录和备份以便恢复以前的版本的软件技术
git的优点:
实现多区域多人协同开发
追踪和记载一个或者多个文件历史记录
组织和保护你的源代码和文档
统计工作量
并行开发,提高开发效率
跟踪记录整个软件的开发过程
减轻开发人员的负担,节省时间,同时降低人为错误
简单来说就是管理协同多人开发的技术
主流版本控制器
主流版本控制器有git,svn,cvs,vss,tfs
三种版本控制分类
一.本地版本控制
二.集中版本控制(svn)
所有的版本都存在服务器上,用户本地只有自己的以前所同步的版本,如果不联网,用户看不到历史版本,也无法切换版本验证问题,代表产品:svn,vss,cvs
三。分布式版本控制(git)
所有的版本控制都同步到本地的每个用户,每个人都拥有全部的代码,不会因为服务器损坏或者网络问题在成不能工作的情况
Git和svn的区别
Svn是集中式的版本控制系统,版本库是集中放在中央服务器的而工作的时候,用的都是自己的电脑所以必须联网更新到最新的版本,然后工作,完成工作后需要把自己做完的活推送到中央服务器,对网络宽带要求较高
而git是每个人的电脑就是一个完整的版本库,工作的时候不需要联网,因为版本都在自己的电脑上,如果两个人同时改了一个文件只需要把自己修改的推送给对方就可以互相看到对方的修改了,git可以直接看到更新了那些代码和文件
Git详解
git介绍
Git是目前最先进的分布式版本控制,linux和git之父是linus Bendic Torvalds
右键桌面空白处有命令行
git bash是 linux和Unix风格的命令
Git GUI是图形界面
git下载
在官网上下载及其慢,我们需要一些镜像下载
git环境配置
用户配置文件是在c盘里面的自己文件命名的文件夹里有一个.gitconfig的文件
系统配置文件是在安装软件的文件夹/etc/gitconfig的文件
第一步.环境配置
第二步.查看环境配置
系统配置如下
用户配置如下
环境变量的配置只是为了在任意位置使用
git工作区域
git本地有三个区域:工作目录,暂存区,资源库和git仓库就可以分为四个区域
下面是一些git的基本原理
git工作流程
一.在工作目录中添加,修改文件
二.将需要进行的版本管理的文件放入暂存区 git.add
三.将暂存区的文件提交到git仓库 git commit
四.提交到远程仓库 git push 一般的远程仓库有两种github,gitee
本地仓库的搭建
本地仓库的搭建有两种方式
第一种创建全新的仓库
第二种克隆远程仓库
Git文件中的四种状态
Unstacked 未跟踪,此文件在文件夹中,但并没有加入到git中,不参加版本控制,通过git add状态变为staged
Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致,这种类型的文件有两种去处,如果他被修改而变为Modified,如果使用git rm移出版本库,则成为untarcked文件
Modified文件已经修改,仅仅是修改,没有进行其他操作,这个文件也有两个用处,通过git add 可以进入暂存staged状态,使用git checkout则丢弃修改过的,返回到unmodify状态这个git checkout即从库中取出文件覆盖当前修改
Staged:暂存状态:执行git commit则修改同步中,这时库中的文件和本地文件又变为一致,文件为unmodify状态,执行git reset HEAD filename 取消暂存,文件状态为Modified
Git提交步骤
Git提交步骤
第一步创建全新的仓库,先建立文件夹,在文件夹中git bash
Git init 创建全新的仓库
在这里创建一个文件
查看文件状态,没有被提交时如图下所示,git status “文件名”
添加文件到暂存区
提交到本地仓库
利用git建立远程连接
这里我们用的是gitee远程连接为例
1.注册过程就不说了,进入码云我们可以先设置个人信息
2.设置本机绑定实现ssh免密码登录,这个是非常重要的,打开c盘中的本用户中有一个.ssh文件,打开用git bash命令行,生成公钥
3.将公钥信息添加到码云的设置中的SSH公钥中,注意这里的信息是id_rsa.pub中的全部内容复制到公钥中,这个时候需要输入你的登录密码
4.用码云创建一个新仓库
注意这时候有一个公开还是私有,私有只能自己看见二公开可以选择多种许可证
,这时候你必须查阅文档来选择许可证,点开这样的图标就能查看,这个时候我们就能使用命令来克隆到本地文件中
在idea中运用git
有时候我们不想将idea中的某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件,我们需要在主目录中建立”.gitignore”文件,此文件有以下规则
1.忽略文件中的空格或以#号开头的
2.可以使用linux通配符,例如*代表任意多个字符,?代表一个字符,方括号[abc]代表可选范围,大括号代表{String1,string2}道标可选字符串
如果前面加一个!则表示例外规则,将不被忽略
3./在前面,则忽略/前面的内容
4./在后面,则忽略/后面的内容
单人操作
1.新建一个项目,绑定git
2.将我们刚才的远程克隆下来的git文件目录拷贝到项目中
这个时候我们发现会有红色字体说明未提交,上面也会有一个git的图标
3.点击提交会出现,这个时候必须填写提交信息
4.当我们新写一个文件的时候,先提交到暂存区,然后提交到本地仓库,再提交到远程仓库
5.可以查看提交的信息,选log
多人操作
git branch 列出本地分支
git branch -r 列出所有的分支
git branch 文件名 新建一个分支
Git checkout -b新建一个分支,并切换到该分支
Git merge 分支名 合并指定分支到主分支
删除分支 git branch -d 分支名
删除远程分支 Git push origin --delete 分支名