Git结构: # 工作区:当前编辑的区域 # 缓存区:add之后的区域 # 本地仓库:commit之后的区域 # 远程仓库:GitHub,gitlab,码云...
一、Git的初步认识
一、Git是什么? git 是一种版本控制器,更直白的说,团队开发的时候,管理代码使用的软件 git官网下载:https://www.git-scm.com/download/ 二、Git的安装 windows下可以直接下一步,windows系统安装完成后,鼠标右键可以看到新增了2个git相关的属性,其中Git Bash Here linux下安装:yum -y install git 三、Git的初步配置 # 初次提交需要设置邮箱和用户名(更具提示信息设计即可) git config --global user.name # 设置用户 git config --global user.email # 设置邮箱 git config --global --unset user.name # 删除用户 git config --global --unset user.email # 删除邮箱
二、Git 命令使用
# "进入想要管理的文件夹之后git bash here" git init # 初始化本地仓库(.git隐藏文件 包含了所有的操作记录) git status # 当前管理状态(没管之前是红色,管谁谁变绿色) 被管理之后文件只要有改动就会被自动检测并显示成红色 git add 文件名/. # .表示管所有(全变绿色) git commit -m '解释信息(越详细越好)' # 将所有变绿的文件拷贝一份放到仓库(变白色) git log # 查看提交记录 git reset --hard '序列号' # 回退到之前版本状态 git reflog # 查看所有版本(包括回退之前的新版本) git checkout filename # 回到最近的一次提交状态 git reset HEAD filename. # 将指定文件从缓存区拉取到工作区 git diff # 对比缓存区和工作区的区别 git diff --cached # 缓存区和本地仓库的区别 # "当开发某个功能到1/2时并且没有提交,如果想要回到原来的状态修复原来的代码" git stash # 将你开发一半的代码先暂时存起来(此时会自动回到修改之前的状态 大白话就是把红色文件全部暂存) # 修复之前的bug # 提交修复代码(可能会出现冲突 需要手动修改冲突) git stash pop # 再次回到开发某个功能到1/2处 # "git stash 其他命令" git stash list # 查看暂存区所有的记录 git stash clear # 清空暂存区 git stash apply 编号 # 将指定的编号记录拿出来 git stash drop 编号 # 删除指定编号的记录 # "一般实际工作中修复bug不经常用git stash,而是使用分支结构" git branch dev # 创建分支(会拷贝master全部代码) git checkout dev # 切换分支(在切换到其他分支之前 一定要将当前分支的内容先提交) # 如果master出现bug 一定不在直接在master上面修改bug因为可能还会有其他bug 应该再创建分支专门修复bug git branch bug # 创建bug修复bug并提交 git checkout master # 切换回master分支 git merge bug # 将bug分支合并到master分支上(可能会产生冲突还是需要自己手动解决) git branch -d bug # 删除bug分支 git branch # 查看所有的分支 # "公司出现bug不要回答的太细只需要回答:创建一个bug分支,再bug分支上进行修复,修复完成后合并到master上即可"
三、Git之远程仓库
# 远程保存代码平台>>>:github # 公共的:GitHub,码云 # 自己搭建:gitlab
# 第一次 本地代码推送远程 cd 项目目录 git remote add origin 远程地址 git push origin master git push origin dev # 增删代码后推送远程仓库 git add . git commit -m '注释' git push origin dev
# 删除
git rm 文件
git push origin dev
# 查看远程仓库 git remote git remote -v # 删除远程仓库 命令:git remote remove <远程地址> # 添加远程仓库 git remote add <远程仓库别名> <远程仓库地址>
四、远程上传以及获取代码
git clone 远程地址
获取远程代码到本地,修改后提交:
git init git remote add origin 远程地址 git pull origin master # 拉取master下代码 提交代码: git add . git commit -m "注释" git push origin master # 提交代码到master下
五、代码合并
出现代码冲突:手动合并 # git rebase git merge一样也是合并分支,不同之处在于会将多个版本的线路直接合并成一条(让提交记录更加的简洁),而git merge不会 # 也会产生冲突:手动修改完冲突之后再执行git rebase --skip