Git零基础从入门到精通(上)
一.目标
1.了解GIt的基本概念
2.能够概述Git工作流程
3.能够使用Git常用命令
4.熟悉Git代码托管服务
5.能够使用idea操作git
二.概述
1.应用场景
1.备份
2.代码还原
3.协同开发
4.追溯问题代码的编写人和编写时间
2.版本控制器的方式
1.集中式版本控制工具
集中式版本控制工具,版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代码,是必须联网才能工作,局域网或互联网。个人修改后然后提交到中央版本库。 举例:SVN和CVS,这两个工具现都被淘汰
b、分布式版本控制工具
分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样工作的时候,无需联网了,因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的 修改了。举例:Git
3.Git

其一大特色是支持多条线路并行开发,且每个人都是一个完整的代码库(意思就是不需要依靠别的服务器,存储在本地电脑上,共享代码库可有可无,只是方便开发人员的代码交换,如果没有共享代码库,开发人员可通过推送代码实现),very强大与安全
4.Git工作流程图

三.Git的安装与常用命令
1.下载地址
https://git-scm.com/download

点击这里直接下载
2.介绍
Git GUI:Git提供的图形界面工具
Git Bash:Git提供的命令行工具
当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息,Git版本控制要记录哪个人什么时候做了什么事情,Git就是通过邮箱去辨识是哪个人的
3.基本配置
1.打开Git Bash
2.设置用户基本信息
git config --global user.name “itcast”
git config --global user.email “hello@itcast.cn”
名字以及邮箱写成自己的,邮箱可以虚拟
3.检查配置信息
git config --global user.name
git config --global user.email

4.解决GitBash乱码的问题
1.打开GitBash执行以下命令
git config --global core.quotepath false
2.${git_home}/etc/bash.bashrc 文件最后加入下面两行
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"


记得Ctrl+s保存配置
5.为指令起别名
有些常用的指令参数非常多,每次都要输入好多参数,我们可以使用别名。
1.打开用户目录,创建 .bashrc 文件
部分windows系统不允许用户创建点号开头的文件,可以打开gitBash,执行 touch ~/.bashrc

2.在 .bashrc 文件中输入如下内容:
#用于输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
#用于输出当前目录所有文件及基本信息
alias ll='ls -al'
3.打开gitBash,执行 source ~/.bashrc

4.获取本地仓库
1.在电脑的任意位置创建一个空目录(例如test)作为我们的本地Git仓库
2.进入这个目录中,点击右键打开Git bash窗口
3.执行命令git init
4.如果创建成功后可在文件夹下看到隐藏的.git目录。

通过ls -al指令可以查到隐藏目录,因为是隐藏的吗,所以文件夹中可能看不到
5.基础操作指令
1.流程图

工作区,就是平时存放项目代码的地方。
本章节主要讲解如何使用命令来控制这些状态之间的转换:
-
git add (工作区 --> 暂存区) git add .添加所有文件、文件夹和子文件夹,包括.gitignore和以点开头的任何其他内容;
-
git commit (暂存区 --> 本地仓库)
2.指令
1.git status
作用:查看的修改的状态(暂存区、工作区)

新创建的文件是未跟踪状态

即将被提交的意思

提交完后显示缓冲区没有东西可以提交了
2.git add
作用:添加工作区一个或多个文件的修改到暂存区
形式:git add 单个文件名
特殊:git add . 添加所有文件到暂存区
3.git commit
作用:提交暂存区汇总所有内容到本地仓库的当前分支
形式:git commit -m ‘注释内容’


提交时候添加的备注会被放到日志中
提交完后显示缓冲区没有东西可以提交了
4.git log
作用:查看提交记录
命令形式:git log [option]
-
options
-
all 显示所有分支
-
pretty=oneline 将提交信息显示为一行
-
abbrev-commit 使得输出的commitId更简短
-
graph 以图的形式显示
-
查看log我们一般都是会加上上面全部的参数的,这样显示更美观有序,可是指令太冗长了,我们想到为指令起别名
#用于输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
我们只要使用git -log命令就好了 ,简单命令为git log

提交时候添加的备注会被放到日志中
5.git reset --hard
即撤回到之前的某个操作版本
-
作用:版本回退
-
命令形式:git reset --hard commitID
如何查看已经删除的记录?
-
git reflog
-
这个指令可以看到已经删除的提交记录
我们可以在reflog里面知道删除文件的id,我们可以直接使用命令git reset --hard commitID 还原
所以git reset --hard commitID既可以做版本回退,也可以做版本还原
3.添加文件至忽略列表
一般我们总会有些文件无需纳入Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动
生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以在工作目录
中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。下面是一个示例:

这样后缀为.a的文件就不会被加到缓冲区中,这样git就不会去处理这些文件了
一般.gitignore文件公司会给









