git是一个用于帮助用户实现版本控制相关操作的软件
关于文件目录:可以直接在当前项目根目录下去执行,git Bash---->git init
常用的命令操作:
git init 初始化管理目录
git status 查询当前文件夹状态 (是否有更新文件)
git add 文件名 对当前文件进行版本控制
git add . 对当前文件夹下的所有文件进行版本控制 点之间有空格
git commit -m '详细的描述信息' 创建一个提交记录
git log 查看版本
git reflog 查看全部版本
git reset --hard '之前的提交记录或版本' 回滚到指定的版本
git reset HEAD 从缓存区将文件拉取到工作区
git diff 对比工作区和缓存区之间的差别
git diff --cached 对比缓存区和版本库之间的差别
git checkout --filename 单独一次往前回退
写入文件:touch xxx文件名
在开发过程之中,需要修改bug或者临时修改功能,暂存区 可以使用:
方式一:
git stash 将资源存放到临时空间 暂存区 实现资源的暂存
git stash pop 取回暂存区临时资源 第一个
git stash list 查看暂存区的所有记录
git stash clear 清空暂存区
git stash apply 按照编号索引去取暂存区的记录 不删除stash记录
git stash drop 删除指定编号的记录 删除stash记录
方式二: (一般解决bug时会采用创建分支的方式去做)
通过创建分支去实现数据操作
git branch 查看分支
git branch dev 创建分支 Dev 分支通常是平行创建的 在当前分支下去另外创建 比如 在master 下去创建Dev 分支
git branch -d dev 删除Dev 分支
git checkout dev 选择dev分支
git checkout -b bug 创建并切换bug分支
在分支下的编码完成之后,切换到之前的分支下,去合并代码资源 比如把dev 合并到master 分支下
需要注意的是,如果两次都修改了同一行数据,可能会产生冲突,这就需要手动去选择合并
git merge dev 合并分支
需要推送资源到git平台上去,执行命令步骤:
1.先在git首页创建一个项目仓库,并添加项目描述
2.在要上传项目的根目录执行初始化操作
3.查询当前文件状态,将更新文件夹添加 到记录中去 git status--->git add . ---->git commit -m '描述信息'
4.项目一般会有多个分支,上线运行一套master,线下开发一套dev ,其他……
5.查看并创建分支dev git branch dev
6.提交完记录后也可以不创建分支,直接去指定推送路径和资源
git remote add origin https://github.com/kevin-hwk/db_erudite.git origin 是作为后面推送链接地址的别名
执行该命令后,项目的.git 文件夹里面的config配置文件就增加了如下代码:
1 [remote "origin"]
2 url = https://github.com/kevin-hwk/db_erudite.git
3 fetch = +refs/heads/*:refs/remotes/origin/*
7.此时就可以利用别名开始推送文件夹了 git push origin master 推送主分支到平台,若是第一次使用会提示登录
8.推送其他分支,比如dev,先切换到dev分支 git checkout dev --->git push origin dev
从平台上下载项目文件:
1.直接克隆文件夹 git clone https://github.com/kevin-hwk/db_erudite.git
但此时,只会默认克隆到master分支下的资源,还想克隆dev下的资源,则需要先在本地新建一个相同dev分支,在切换到该分支去克隆
git branch dev ---> git checkout dev ---->git pull origin dev
2.通过中间操作去获取资源:
分布下载资源也得再克隆的本地文件夹里去执行 git clone https://github.com/kevin-hwk/db_erudite.git
先从远程仓库拿到版本库 git fetch origin dev
在从版本库合并资源到本地 git merge origin/dev 下载的时候 分支名就是dev
如果不希望在记录列表中显示分叉记录(多次提交合并到相同分支)可以使用 git rebase origin/dev
比较重要的是:推送项目到远程库时,如果本地没有README.md文件,一定要先合并本地仓库代码,在推送到远程仓库。
git pull --rebase origin master