1、开发中的实际场景
场景一:备份
场景二:代码还原
场景三:协同开发
场景四:追溯问题代码的编写人和编写时间
2、版本控制器的方式
a、集中式版本控制工具(SVM和CVS)
b、分布式版本控制工具(Git)
3、基本配置
打开Git Bash,设置用户信息:
git config --global user.name "shenchaoqun"
git config --global user.email "321173880@qq.com"
(注意双引号前有空格!)
查看配置信息:
git config --global user.name
git config --global user.email
为常用指令配置别名(可配置也可以不配置):
有些常用的指令参数非常多,每次都要输入好多参数,我们可以使用别名
1、打开用户目录,创建 .bashrc文件,如我的是在C盘/用户/沈超群 目录下
部分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、解决GitBash乱码问题
(1)首先打开GitBash执行下面命令
git config --global core.quotepath false
(2)在你的Git的安装路径下找到etc/bash.bashrc文件最后加入下面两行
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
4、获取本地仓库
1)在电脑的任意位置创建一个空目录(如GitWarehouse)作为我们的本地Git仓库
2)进入这个目录中,点击右键打开Git Bash窗口
3)执行命令git init
4)如果创建成功后可在文件夹下看到隐藏的 .git目录
这个操作是初始化当前目录为一个git仓库
初始化完成后当前目录会多一个 .git文件
5、基础操作指令(一)
Git工作目录下对文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行Git的命令而发生变化。
git add (工作区->暂存区)
git commit (暂存区->本地仓库)
1、查看修改的状态(status)
作用:查看的修改的状态(暂存区、工作区)
命令形式:git status
2、添加工作区到暂存区(add)
作用:添加工作区一个或多个文件的修改到暂存区
命令形式:git add 单个文件名|通配符
例如:将所有修改加入暂存区:git add .
3、提交暂存区到本地仓库(commit)
作用:提交暂存区内容到本地仓库的当前分支
命令形式:git commit -m"注释内容"
4、查看提交日志
作用:查看提交记录
命令形式:git log [options]
要只想看简化的提交记录的话,可以用命令git-log来得到简化的提交信息,这个命令之所以能够使用,是因为前面配置了,没有配置的话就无法使用
--all 显示所有分支
--pretty=oneline 将提交信息显示的为一行
--abbrev-commit 使得输出的commitld更简短
--graph 以图的形式显示
这些几个选项可以叠加,例如:
git log --pretty=oneline --abbrev-commit --all --graph
5、创建文件
命令形式:touch 文件名
例如:touch file01.txt
6、修改文件内容(用vi编辑器)
命令形式:vi 文件名
例如:vi file01.txt
注意:输入命令进入编辑页面后,若不能输入内容,可按insert键。修改完成后,先按Esc键,再输入英文状态下的冒号 : ,接着再输入小写的wq,按回车键即可保存并退出编辑页面。
7、版本回退
作用:版本切换
命令形式:git reset --hard commitID
可用git-log或者git log或者git reflog来获得commitID
如何查看已经删除的记录
git reflog
这个指令可以看到已经删除的提交记录
8、添加文件至忽略列表
一般我们总有些文件无需纳入Git管理,也不希望他们总出现在未跟踪文件列表。在这种情况下,我们可以在工作目录创建一个名为 .gitignore的文件(文件名称固定),列出要忽略的文件模式。下面是一个示例:
6、基础操作指令(二):分支
几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的Bug修改、开发新的功能,以免影响开发主线。
1、查看本地分支
命令:git branch
2、创建本地分支
命令:git branch 分支名
3、切换分支
命令:git checkout 分支名
我们还可以切换到一个不存在的分支(创建并切换)
命令:git checkout -b 分支名
4、合并分支
一个分支上的提交可以合并到另一个分支。
命令:git merge 分支名称
注意:一般都是将其他分支合并到master分支上,首先要切换到master分支上,再使用合并分支语句
5、删除分支
不能删除当前分支,只能删除其他分支
git branch -d b1 删除分支时,需要做各种检查
git branch -D b1 不做任何检查,强制删除
6、解决冲突
当两个分支同时对文件进行修改(这里的修改是指修改过后都进行了add操作和commit操作)时可能会存在冲突,例如同时修改了同一个文件的同一行,这时需要手动解决冲突,解决冲突步骤如下:
(1)处理文件中冲突的地方(用vi编辑器编辑时,删除不需要的部分,只保留你所需要的修改内容即可,如下图所示)
(2)将解决完冲突的文件加入暂存区(add)
(3)提交到仓库(commit)(这里也可以用完整的commit语句,完整的commit语句前面已经讲述过了,若按下图中的git commit 操作时,会弹出一个页面,你只需要按照退出编辑页面的方式退出该页面即可,退出编辑页面的方式前面也已经讲过了)
冲突部分的内容处理如下所示: