先上Git工作流程图
[](()管理暂存区的文件
暂存区的文件,也就是相当于是小推车里面的文件,
-
当我们第一次将文件放到暂存区里,可能会有放早了的情况,我们可以使用
git rm --cached a.html
的方式将文件从暂存区里面取出。 -
当我们是第二次提交,也就是说仓库里其实已经有了这个文件了,我们从暂存区里取出的代码就要使用
git reset HEAD a.html
的方式取出 -
如果我们要回退前一个版本,可以使用
git checkout -- a,.html
的方式,就会回退当上一个版本
其实这些操作在我们查看状态的时候都会有提示代码的,如下:
[](()alias命令别名提高工作效率
在现实开发中,像git add
,git status
《大厂前端面试题解析+Web核心总结学习笔记+企业项目实战源码+最新高清讲解视频》无偿开源 徽信搜索公众号【编程进阶路】 ,git commit
,git log
等等这些git操作我们要使用非常非常多次,如果我们想要提高效率,就可以设置一些别名来进行操作,使用的就是alias命令,在git的config配置文件下进行配置如:
-
设置全局命令:
git config --global alias.s status
这个的意思就是s代替的status,所以我们只要输入git s
效果和git status
的效果是一样的 -
如果只想某个项目里面设置这种alias快捷指令,只需要cd到那个项目里,单独修改那个项目的config配置文件即可,如:
git config alias.l log
-
也可以通过编译器打开这个文件夹,手动进行输入
[](()分支的理解
如上图,git默认是有一个master主分支,分支的出现也能够让我们的团队能够并行开发,大大提高开发的效率我们项目完成之后上线的也是主分支里面的内容,一些其他的新开发的功能我们会选择新建一个分支来进行开发,这样做的一个好处是能够让master也就是最终发布的项目的分支保持干净的状态,也能够更加体现协同开发,代码的耦合地也大大的降低了。
其他分支完成了功能或者修复了Bug之后只需要将完成的代码合并到主分支即可。
[](()分支branch的基本操作
在我们设置分支之前,必须是先提交一次代码,因为只有提交了一次之后仓库才会默认的有一个master主分支,只有在有主分支的情况下才可以创建其他的分支
-
使用
git branch 分支名
创建一个分支,git checkout 分支名
切换分支,在切换了分支之后写的代码如果没有合并到master分支就切回master分支的时候是看不到的,可以理解为回到master分支的那个时间节点的时候分支还没有创建。 -
我们可以使用
git checkout -b 分支名
快捷的创建一个分支,并切换到该分支。
分支操作使用的非常的频繁,一定要理解,多看前面的那个图,在分支的代码完成之后一定要记得合并到master主分支。
[](()分支的其他操作(合并分支、删除分支)
前面一个知识点说了,分支在没有合并到主分支的时候,主分支是看不到其他分支上修改或者新创建的文件的。所以我们就需要合并分支,当分支功能已经合并,分支也就没有存在的必要了,这时候就可以删除掉分支
-
合并分支,首先是要切换到master主分支(这个不能忘),然后使用
git merge 分支名
就可以实现合并分支,合并分支的速度非常快,本质上其实就是将最后一次提交的指针指向master即可,所以非常的快 -
删除分支,使用
git branch -d 分支名
实现删除一个分支,这里的-d 就可以理解成是delete的意思。
[](()正确的处理分支冲突
分支冲突基本是只要使用了分支不出意外一般都会发生冲突,因为是多个分支操作了同一个文件,在最终合并的时候系统不知道要按照哪个来进行合并,这个就是分支冲突