一,Git仓库的使用
1,下载安装Git,下载地址:https://git-scm.com/download(一直下一步就可以),安装完成之后,在磁盘目录右键会出现如下图标
2,环境配置
在任意磁盘目录下右键选择Git Bash Here ,通过命令设置用户名和邮箱
git config --global user.name "yonghuming"
git config --global user.email "youxiangn@163.com"
查看配置信息
git config --list
git config user.name
3,在本地创建一个Git仓库,我这里名叫repo1,如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹)则说明Git仓库创建成功。
将查看中的隐藏目录放开,git文件夹会显示
二,工作目录、暂存区以及版本库概念
版本库:就是隐藏的git文件夹
工作区:包含git文件夹的目录
暂存区:git文件夹中有一个index文件就是暂存区
三,Git工作目录下文件的两种状态
Git工作目录下的文件存在两种状态:
untracked 未跟踪(未被纳入版本控制,此文件没有被git进行版本管理)
tracked 已跟踪(被纳入版本控制)
Unmodified 未修改状态
Modified 已修改状态
Staged 已暂存状态
这些文件的状态会随着我们执行Git的命令发生变化
- git status 查看文件状态
- git add 将未跟踪的文件加入暂存区
- git reset 将暂存区的文件取消暂存
- git commit 将暂存区的文件修改提交到本地仓库
- git rm 删除文件
我们可以在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式
从远程仓库中抓取与拉取
1,通过get remote仓库查看本地仓库与远程仓库的关联关系
2,指定本地仓库与哪个远程仓库关联
origin是为远程仓库取的名字,后面跟远程仓库的地址
3,查看远程仓库的地址
4,git fetch 是从远程仓库抓取最新版本到本地仓库,不会自动merge
5,git pull 是从远程仓库拉取最新版本并merge到本地仓库(会自动merge)
注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories ),解决此问题可以在git pull命令后加入参数–allow-unrelated-histories
6,从远程仓库克隆到本地仓库
在磁盘目录中右键Git Bash Here,通过命令git clone加远程仓库url路径克隆到本地,如图:
7,将本地仓库推送到远程仓库git push
三, Git分支
几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。Git 的master分支并不是一个特殊分支。 它跟其它分支没有区别。 之所以几乎每一个仓库都有 master 分支,是因为git init 命令默认创建它,并且大多数人都懒得去改动它。
1 查看分支
# 列出所有本地分支
$ git branch
# 列出所有远程分支
$ git branch -r
# 列出所有本地分支和远程分支
$ git branch -a
2 创建分支
git branch b1 创建b1分支
*master代表当前处在master分支下
3 切换分支
git checkout b1,切换为b1分支
4 推送至远程仓库分支
git push origin b1,将本地b1分支推送至远程仓库
(相当于创建远程仓库中的b1分支)
3.7.5 合并分支
git merge b3
有时候合并操作不会如此顺利。 如果你在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,Git 就没办法合并它们,同时会提示文件冲突。此时需要我们打开冲突的文件并修复冲突内容,最后执行git add命令来标识冲突已解决
3.7.5 删除分支
如果要删除的分支中进行了一些开发动作,此时执行上面的删除命令并不会删除分支,如果坚持要删除此分支,可以将命令中的-d参数改为-D
git branch -d b2
注:如果要删除远程仓库中的分支,可以使用命令git push
origin –d branchName