Git基本概念与命令使用
Git版控的概念介绍(Git是什么?)
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
那什么是版本控制系统?
eg:用起来就应该像这个样子,能记录每次文件的改动,结束了手动管理多个“版本”的史前时代。
版本 | 文件名 | 用户 | 说明 | 日期 |
---|---|---|---|---|
1 | service.doc | 刘备 | 删除了软件服务条款5 | 2/12 10:38 |
2 | service.doc | 刘备 | 增加了License人数限制 | 2/13 18:09 |
3 | service.doc | 张飞 | 财务部门调整了合同金额 | 2/14 9:50 |
4 | service.doc | 刘备 | 延长了免费升级周期 | 2/14 14:38 |
Git命令使用
新增版本库
- $mkdir a 创建一个目录
- $ cd a 转换路径
- $ pwd 显示当前所在的位置
- $git init 初始化git仓库
- 在git bash里,转换路径: cd e:/ belstar20190214
- 输入 git init。就会在e:/ belstar20190214下产生目录 .git(隐藏目录),表示e:\ web20170210里的项目代码(即所有的文件)会使用git进行版本管理。
增删文件
- 增加:
- $git add index.html
- $git commit -m “本次提交说明”
- 删除:
- $git rm index.html
- $git commit -m ”删除说明”
- 理解:add和commit
- Add:添加;相当于打了标记(实际上是存储在了暂存区stage里),告诉git,下次提交时把该文件进行提交。
- Commit:提交。把打过标记的(即用add进行添加的文件),一次性进行提交。即可以一次性把暂存区里的文件全部进行提交,
提交了master分支(主分支)。提交完成后,暂存区里就没有文件了。
工作区与暂存区的概念
提交撤回
- 文件在工作区的修改,没到暂存区
- git checkout index.html 用暂存区中的内容或者版本库中的内容覆盖掉工作区
- commit 前修改
- git reset HEAD index.html 撤销修改的暂存
- git status 查看本地仓库的状态
- 版本回退
- Gti log 查看所有的版本的命令
- Git reset -—hard HEAD^ 要恢复到上一个版本
- git reset -—hard 版本序列号 恢复到指定版本
分支
- 查看分支:git branch
- 创建分支:git branch name
- 切换分支:git checkout name
- 创建+切换分支:git checkout -b name
- 合并某分支到当前分支:git merge name
- 删除分支:git branch -d name
tag的概念及使用
- git tag tagname 新建一个标签
- git tag -a tagname -m “标签说明” 指定标签信息
- git tag 可以查看所有标签。
- git show tagname 查看某一标签
- git tag –d tagname 删除某一标签
克隆clone
- GitHub 登陆新建一个远程库
- Git clone 远程库地址
- Git push 提交更新
- Git pull 拉取更新 抓取远程仓库所有分支更新并合并到本地
每天做的git相关工作
- git add . 将所有修改过的工作文件提交暂存区
- git commit –m “版本描述”
- git push -u origin master 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)
将特定文件不列入版控
- .gitignore文件