git简要说明
Workspace:工作区,就是平时进行开发改动的地方,是当前看到最新的内容,在开发的过程也就是对工作区的操作
Index:暂存区,当执行 git add 的命令后,工作区的文件就会被移入暂存区,暂存区标记了当前工作区中那些内容是被 Git 管理的,当完成某个需求或者功能后需要提交代码,第一步就是通过 git add 先提交到暂存区。
Repository:本地仓库,位于自己的电脑上,通过 git commit 提交暂存区的内容,会进入本地仓库。
Remote:远程仓库,用来托管代码的服务器,远程仓库的内容能够被分布在多个地点的处于协作关系的本地仓库修改,本地仓库修改完代码后通过 git push 命令同步代码到远程仓库。
一般来说,Git 的工作流程分为以下几步
1.在工作区开发,添加,修改文件。
2.将修改后的文件放入暂存区。
3.将暂存区域的文件提交到本地仓库。
4.将本地仓库的修改推送到远程仓库。
git应急命令
场景一
场景:当我们把写好的文件commit后,突然想起来忘了删调试的日志等等,想把commit的动作撤销。
已提交,没有push
1)git reset --soft 版本号 撤销commit
2)git reset --mixed 版本号 撤销commit和add两个动作
说明:回到某个版本
举例:想把上一个提交的commit撤销,那么就需要指定上上一次的commit版本号。
场景二
场景:往远程分支提交了错误的代码,想要撤回提交
已提交,并且push
1)git reset --hard 版本号 撤销并舍弃版本号之后的提交记录。使用需要谨慎。
2)git revert 版本号 撤销,但是保留了提交记录。并且他是移除指定的提交。
之后进行重新push远程仓库
场景三
场景:想把多次零碎的commit合并成一个
git rebase -i 合并多次提
举例:想把前两次commit合并成一个git rebase -i HEAD~2
进入vim界面时,一个选p其余选s,保存退出。
场景四
场景:将其他分支的代码合并过来
git cherry-pick commit_id
场景五
场景:修改已提交的commit,可以多次修改,达到减少零碎commit的目的
git commit --amend
场景六
场景:开发了一般需要切换分支
git stash
切换前先git stash save '标签',存起来,完成后,切回来分支执行git stash pop还原状态