学习视频推荐
http://【黑马程序员Git全套教程,完整的git项目管理工具教程,一套精通git】 https://www.bilibili.com/video/BV1MU4y1Y7h5/?p=5&share_source=copy_web&vd_source=2b85bd9be9213709642d908906c3d863
1、Git环境配置
安装Git
Git下载链接
https://git-scm.com/downloads
点击右键出现
Git GUI Here(Git提供的图形界面工具)
和
Git Bash Here(Git提供的命令行工具)
则安装成功
1.1 基本配置
打开Git Bash
1.1.1设置用户信息
git config --global user.name "zhangfeifei"git config --global user.email "zhangfeifei@163.com"
1.1.2 查看配置信息
git config --global user.name
git config --global user.email
1.1.3 为常用指令配置别名
打开用户目录,创建.bashrc文件
部分windows系统不允许用户创建点号开头的文件,可以打开gitBash,执行 touch ~/.bashrc
在.bashrc中输入以下内容
#用于输出git提交日志
git log --pretty=oneline --all --graph --abbrev-commit
#用于输出当前目录所有文件及基本信息
alias ll='ls -al'#改完后利用以下命令生效source ~/.bashrc
1.2 获取本地仓库
要使用Git对我们的代码进行版本控制,首先需要获得本地仓库
- 1)在电脑的任意位置创建一个空目录(例如test)作为我们的本地Git仓库
- 2)进入这个目录中,点击右键打开Git bash窗口
- 3)执行命令git init
- 4)如果创建成功后可在文件夹下看到隐藏的.git目录。
1.3 基础操作指令
Git工作目录下对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行Git的命令而发生变化。
- git add (工作区——>暂存区)
- git commit (暂存区——>本地仓库)
1.3.1 未跟踪提交相关案例
创建 file01.txt文件
touch file01.txt
查看当前状态
git status
把所有的修改文件放入暂存区
git add .
再次查看当前状态,发现file01.txt文件已经被放置到暂存区
最后的目的是把修改的文件放置到仓库进行版本控制
因此用 git commit -m "提示修改了什么" 命令提交暂存区修改的部分
git commit - "add file01.txt"
再次查看状态,发现缓存区已经清空
利用git log 命令查看提交到了哪里
git log
1.3.2 修改提交相关案例
对file01.txt文件进行编辑修改 ,i插入文字,esc退出编辑,:wq!保存退出
vim file01.txt
查看文件当前状态
所有的修改放置缓存区
git add .
查看状态
提交至仓库
git commit -m "update file 01"
查看提交日志
git log
1.3.3 版本回退
git reset --hard commitID
commitID 用git log命令查看 (在命令行能看见commitID)
commitID 还能用git reflog查看(在命令行不能看见commitID)
只要不删除文件夹,可以任意的往前往后调整版本
1.3.4 用 .gitignore设置哪些文件无需Git管理
创建file02.a的文件
touch .file02.a
创建 .gitignore,在这个文件里列出哪些文件无需Git管理即可
touch .gitignore
编辑.gitignore,所有以.a结尾的文件均无需git管理
查看状态
发现file02.a文件没有被提示
1.4 分支
分支是为了多个开发人员之间的开发工作互不影响,因此有了分支的概念
1.4.1 查看有哪些分支
git branch
1.4.2 创建分支
git branch dev01
1.4.3 切换分支,head指向谁,当前就在哪个分支
git checkout dev01
以下命令分支不存在也能切换,即先创建再切换,用的更多
git checkout -b dev01
1.4.4 合并分支
刚刚在master分支提交了一个.gitignore文件,现在在dev01创建file02.txt文件,并且提交,如下(还是用上面的简写配置后看上去清晰!!!,不然就要记忆这么多的命令,git log --pretty=oneline --all --graph --abbrev-commit
)
- 对于master分支,有.gitignore文件
- 对于dev01分支,有file02.txt文件
两个分支对应两个开发人员开发的功能,下一步要对这两个分支功能进行合并,那应该怎么样做呢?
一般是把其他的分支合并到master分支上去
首先切换到master分支上
git checkout master
然后把需要合并的dev01分支合并至master分支上去
git merge dev01
随后进入该界面,按ESC,再按:WQ退出即可
查看日志
可以发现在master分支上,dev01分支指向了master分支,代表合并成功。
1.4.5 删除分支
如果有的分支不需要了,就需要对其进行删除
命令如下
#删除分支时进行检查
git branch -d dev01#强制删除分支,不进行检查
git branch -D dev01
查看当前分支
删除分支dev01
1.4.5 合并冲突
设想一下,如果有两分支对同一个文件的同一行进行了修改,那么在合并的时候,就会有冲突,那应该如何解决呢?
当前有一个master分支,有一个file01.txt文件,文件中内容如下
现在创建一个dev分支对file01.txt文件进行修改,修改后的内容如下
再把master分支上对file01.txt文件进行修改,修改后的内容如下
现在打印日志如下
这时如何把dev分支合并到master上会发生什么呢?
直接找到出问题的文件进行处理,再重新提交即可