一 git命令
1.简单命令
git init # 初始化 (建立git 版本相关文件关系都放这里) git config --global user.email "you@example.com" git config --global user.name "Your Name" # 配置用户 git add . # 当前所有文件夹和所有文件文件加入版本库 - .是指所有文件夹下所有文件 - add templates/index.html 添加指定的文件夹 git commit -m “命名名称” #提交到版本库 - 注意:命名名称不能随便命名 要结合实际 以便以后查找 git log # 查看当前所有版本 git reset --hard 版本号 # 回滚到当前版本号的版本 git reflog # 显示回滚前的所有版本 git reset --hard 版本号 # 回滚到当前版本号的版本 git status # 查看当前版本改动的状态 ls (linux命令) #查看当前所在目录下的所有文件 cd a.py 切入文件夹 cd.. 退回到上一层目录 git tauch a.py 创建空的文件 mkdir 目录名称 创建目录 vim a.py 编辑文件 - 点i后 进入编辑模式 可以进入编写 - 点ESc 在输入:w 表示保存不退出退出 - 点Esc 在输入:wq 保存文件并退出 ###分支命令 git branch 分支名称 # 创建分支 git branch # 查看当前所有分支 git branch -d dev # 删除分支dev git checkout 分支名称 # 切换分支 (修改过代码后 切换分支需要先提交一下代码 否则报错) git merge dev 分支合并 (合并时 在哪个分支下 代码就会合并在哪个分支)
2. Git把管理的文件分为了两个区域四个状态。
区域:
工作区:
原内容
修改过的内容 # git status 查看状态
版本库
暂存 # git add . 将修改内容加入暂存状态(通过 status 查看状态 颜色为绿色)
分支 # git commit -m “版本名称” 将暂存状态改为分支
b. 紧急bug修复方法:
方法一:stash (了解)
git stash 将当前工作区的修改过的代码暂存到某个地方中
按照原来代码继续开发...
git add .
git commit -m '修改完成'
git stash pop
- 不产生冲突
- 产生冲突,手动去解决
git stash 将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原 到当前版本未修改过的状态
git stash list 查看“某个地方”存储的所有记录
git stash clear 清空“某个地方”
git stash pop 将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
git stash apply 编号 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突)
git stash drop 编号 ,删除指定编号的记录
方法二:创建分支(重点学习 面试题)
moster # 默认分支 (线上版本分支 不允许修改)
dev # 开发分支
bug # 修改bug分支 (创建分支时复制的代码是所在分支的代码)
git branch 分支名称 # 创建分支
git branch # 查看当前所有分支
git branch -d dev # 删除分支dev
git checkout 分支名称 # 切换分支 (修改过代码后 切换分支需要先提交一下代码 否则报错)
git merge dev 分支合并 (合并时 在哪个分支下 代码就会合并在哪个分支)
修复Bug流程:
git branch dev
git checkout dev
# 写代码
git add .
git commit -m 'xxx'
git checkout master
git branch bug
git chekcout bug
# 修复bug
git add .
git commit -m '紧急修复bug'
git checkout master
git merge bug
git branch -d bug
git checkout dev
# 继续开发
二 使用github版本管理软件
1 .把代码从github上拿下来方法:
方法一:
下载
方法二:
git clone 地址
方法三:
git init
git remote add origin
git pull origin master
#与git pull origin master相同
git fetch origin master
git merge origin/master
2 . 流程
家里: git add . git commit -m 'xx' git remote add origin https://github.com/WuPeiqi/greenlu.git git push origin master # 将代码提交到github上 公司: # 新公司第一次获取代码 方式一: git clone https://github.com/WuPeiqi/greenlu.git 方式二: git init git remote add origin https://github.com/WuPeiqi/greenlu.git git pull origin master # 直接将代码拉下来到工作区 方式三: git init git remote add origin https://github.com/WuPeiqi/greenlu.git git fetch origin master git merge origin/master # 日后 (clone一次后 以后再拿代码可以直接执行下面代码, 应用场景:在家里或公司写好代码未上传 在另一地继续写) 方式一: git pull origin master #直接将代码拉下来到工作区 方式二: git fetch origin master # 只是单纯的将master下载下来 git merge origin/master
方式三: git rebase origin/master # 与merge功能相同 应用场景:多人开发 分支较多时 git add . git rebase --continue *** cat a.py # 查看文件内容 问题:在公司写完代码忘了提到github上 回到家后继续写代码 写完提到github 怎么合并代码 解决方案:把在家写的代码拉下来 解决冲突 保存即可
三 合并开发
# 多分支开发流程 master (线上分支) dev (测试) review 合并开发分支(一般一两天合并一下分支代码并由老大审核完代码后再合并到dev) bb (个人分支) sk (个人分支) wh (个人分支) - 协作开发 - 项目协作者 - 组织 -开发示例 - 到新公司后clone下代码 - 创建dev review 个人分支 - 切入个人分知后 开发新功能 - 一个小功能开发完后合并 切入review 合并前要pull一下review 这样可以拿到最新代码 - 合并后 push一下