目录
一、流程
二、基本流程命令(从初始化到推送到远程仓库)
三、分支相关命令
四、提交代码
五、拉取主分支最新代码
六、合并远程仓库主分支代码到分支
七、撤销回退
一、流程
workspace 工作区,就是你的编辑器打开的文件
staging area 暂存区 介于工作区和本地仓库之间暂时存放代码的地方
local repository 本地仓库
remote repository 远程仓库
git中的代码,整个流程如上图所视。
流程:git clone 克隆远程仓库地址到本地 通过代码编辑器编辑代码 git pull 拉取分支的最新代码,防止代码冲突 git add 添加到暂存区 git commit 提交到本地仓库 git push 推送到远程仓库。
二、基本流程命令(从初始化到推送到远程仓库)
git init // 如果需要新建一个 git 仓库
git clone url // 克隆远端文件 url 远程仓库的地址
git checkout branchName // 切换git分支,branchName 分支名称
git pull // 假设你已经在现在的分支上修改了东西要提交,pull 拉下该分支最新的远程代码,一块提交,不然有可能会把别人已经推送到这个分支的东西搞没了(会被骂)
git add filePath // 单个文件添加到暂存区, filePath 单个文件路径
git add . // . 代表全部,全部添加到暂存区
git commit -m '描述内容' // 推送到本地仓库,并写上备注(改了啥东西)
git push origin branchName // branchName 远程分支名,推送到远程分支
三、分支相关命令
当我们在团队开发时,有可能会遇到代码冲突、覆盖代码的问题。所以多人开发时,代码最好先传到自己的分支里,可以有效避免代码冲突。
//增加本地分支
git branch newBranch // 新建本地分支 newBranch为分支名
//新增远程分支以及却换分支
git branch newBranch // 新建本地分支 newBranch为分支名
git push origin newBranch // 把新建的本地分支推送到远程
git checkout branchName // 切换本地分支
git fetch // 如果在远程创建了新分支,本地可以通过git fetch 来获取最新的远程分支
//删除分支
git branch -D branchName // 强制删除本地指定分支
3.2 git branch -d branchName // 删除本地分支 会检查有没有和上游分支 合并
3.3 git push origin --delete branchName // 删除远程分支
//查看分支
git branch //查看所有本地分支
git branch -r //查看所有远程分支
git branch -a //查看所有远程和本地分支
//合并分支
git merge branchName // 合并本地branchName到当前分支
四、提交代码
git pull 拉取分支的最新代码,防止代码冲突 git add 添加到暂存区 git commit 提交到本地仓库 git push 推送到远程仓库。
git add . // . 代表全部,全部添加到暂存区
git commit -m '描述内容' // 推送到本地仓库,并写上备注
git push origin branchName // branchName 远程分支名,推送到远程分支
五、拉取主分支最新代码
git check branchName 切换到远程仓库主分支 git pull 拉取远程仓库主分支代码
git checkout branchName // 切换分支,branchName 分支名称
git pull // 拉取该分支最新代码
六、合并远程仓库主分支代码到分支
切换回自己的分支,合并远程仓库主分支代码到自己的分支,为了避免代码冲突,可以在合并完之后再提交一遍
git checkout branch //切换本地分支
git merge branchName //合并
//避免代码冲突
git add . // . 代表全部,全部添加到暂存区
git commit -m '描述内容' // 推送到本地仓库,并写上备注
git push origin branchName // branchName 远程分支名,推送到远程分支
七、撤销回退
//撤销工作区的更改
git checkout -- filePath // 撤销工作区指定文件的更改,filePath,文件路径都可通过 git status查看
git checkout . // 撤销工作区所有更改
//撤销暂存区的更改
git reset HEAD filePath // 撤销上次add指定的文件更改
git reset HEAD . // 撤销上次add的全部更改
//回退本地仓库
git reset --hard HEAD^ // 回退到上次commit状态
git reset --hard commit-id // 回退到指定的commit,commit-id可通过git log 查看
//完整的回退仓库操作
git branch newBranch // 本地创建新的分支,备份,防止回退有问题
git reset --hard commit-id // 重置到指定的commit提交,重置到改提交后,后面的提交记录会去除
git push -f origin branchName // 强制推送到远端