git-使用
GIT介绍
Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发。Git 是根据GNU通用公共许可证版本2的条款分发的自由/免费软件,安装参见:http://git-scm.com/
GitHub是一个基于Git的远程文件托管平台(同GitCafe、BitBucket和GitLab等)。
Git本身完全可以做到版本控制,但其所有内容以及版本记录只能保存在本机,如果想要将文件内容以及版本记录同时保存在远程,则需要结合GitHub来使用。使用场景:
- 无GitHub:在本地 .git 文件夹内维护历时文件
- 有GitHub:在本地 .git 文件夹内维护历时文件,同时也将历时文件托管在远程仓库
其他:
集中式:远程服务器保存所有版本,用户客户端有某个版本
分布式:远程服务器保存所有版本,用户客户端有所有版本
一. 官网下载GIT。
windows 版本直接点击安装---一路下一步就可以,打开GIT是下面这个界面。
二. 新建项目,打开以后默认就到目录的路径下,如果要切换 cd命令, 如果要查看 ls命令
三. git init 初始化仓库
四. git命令。
git status 查看状态,红色表示当前变化的。
git add db.sqlite3 添加管理的文件
git add . 所有的文件都添加进去了
git status 查看状态 发现这个文件变绿了,状态属于暂时保存起来了
git commit -m '描述信息' 提交版本 ,如果第一次报错就需要执行 run下面的2条命令,指定下你的邮箱,和名字即可,然后在提交
git log 查看版本库里都有哪些版本
在开发的基础上 开发了好几版,突然出现问题了需要把在线飞这个项目下线,但是以后可能还会上,所以不能删除只能回退。
回退命令
git reset --hard 后面加版本的commit 的版本信息,发现已经回退到上一个版本
然后有一天问题处理完了 需要把在线飞版本上线,去查看git reflog
git reset --hard df5edaa 回到这个版本,
git log 然后发现版本又回来了, git reflog是只要有变动都会记到里面
有一天开发了一半的程序,突然线上出BUG了,需要放下手中正在开发的,去修复BUG。
git stash 把当前状态保存到一个地方,当前的版本回滚到上次的状态
修完BUG 然后提交以后需要继续开发未开发完的项目,但是需要找到所以执行命令,执行完以后功能就回来了。
git stash pop 命令执行完以后继续开发,开发完后,添加 提交
git stash list 查看神奇的地方有几个内容
git stash clear 清除神奇的地方
git stash apply 序号 拿指定的内容
git stash pop 把之前的内容拿回来
git stash drop 序号 删除指定的内容
五. 分支
- master 主分支
- dev 开发的分支
5.1 git branch 查看所在分支
5.2 git buranch dev 创建dev分支 并开发内容
5.3 git checkout dev 切换分支 **注 如果报错需要查看文件是否提交,因为有的版本可以直接切回,有的版本切回MASTER的时候需要先提交
5.4 git branch bug 创建bug分支 处理bug
5.5 git merge bug 处理完BUG后 合并分支
5.6 切换到dev分支
5.7 git merge bug 合并bug分支
5.8 git commit -m '信息' 提交分支
5.9 git branch -d bug 处理好bug后删除 bug分支
以上是线上出BUG,处理BUG的流程:
1.从 master创建一个新的分支 bug git brahc bug
2. 切回到bug分支上 git checkout bug
3. 修复bug 完后提交
Git add .
git commit -m '信息'
4. 切换master分支 git checkout master
5. 合并分支 git merge bug
6. 删除bug分支 git branch -d 分支名
7. 其他分支的bug要处理
切换到其他分支,合并主分支 git merge master
可能会出现冲突,出现冲突,手动解决冲突,解决完在提交
6.代码托管平台 github
登录 管理平台----新建自己的代码库
-----创建库的信息----然后点击create
添加远程github地址 具体信息可以去.git里的config里去看
![](https://img2018.cnblogs.com/blog/1370684/201901/1370684-20190107110702196-39965230.png)
git push -u origin master 把master推到远程github上 中间会弹出登录框 输入账号密码即可
![](https://img2018.cnblogs.com/blog/1370684/201901/1370684-20190107111139593-1677623131.png)
git push -u prigin dev 把dev分支上传到github
如果要从github上下载 进入到目录的bash里 然后执行命令 git clone 后面指定路径
![](https://img2018.cnblogs.com/blog/1370684/201901/1370684-20190107112440605-1769992050.png)
git push -- all 可以提交所以分支到github