用过SVN,也用过Git,说不出SVN有哪里不好,但是自从用上Git后,便爱不释手。不管是因为平时在项目开发中需要用Git进行版本控制,还是因为Git可以与Github无缝连接管理自己的开源项目,总之对Git的掌握是一名不管是前端还是后台程序员都必须具备的能力。
这篇文章,我们不从最基础的下载、安装、配置讲起,因为这些东西都可以很容易在网上找到资料,我要写的是自己在平时工作中的总结,包括系统的工作过程,以及一些常用的Git操作,如果这些我们都记住了,就可以不必每次在忘记的时候去找Git的官方文档了。
Git的整体工作流程
clone项目到本地
使用Git的第一步永远是git clone,clone下来的文件夹名称默认为url最后一个斜杠后面的名称,如果不想用默认的名称,我们还可以通过在url后面传递参数来修改默认的名称,如下代码
建立分支
一般线上的项目会有master和dev分支,而master分支上的东西是不允许随便乱动的,开发只在dev分支上,因此我们需要建立一个dev分支,并把远程仓库里的代码拉取到本地
正常开发
在切换好分支后,便可以进行正常的开发,调试等步骤
提交
在开发完毕,功能测试结束后,便要将本地代码提到远程仓库中
利用git commit将本地暂存区的代码先提交到本地仓库中
拉取并解决冲突
利用pull命令,从远程仓库中拉取最新的代码
此时可能会出现冲突,如果出现了冲突先解决冲突,在解决完冲突后,利用rebase命令提交修改冲突后的文件
push至远程仓库
以上操作均成功后,就可以利用git push命令将本地仓库的内容提交至远程仓库
打tag发版本号
在代码提交至远程仓库并要上线时,首先需要将dev分支合并到master分支,然后在master分支上打tag标签,依次有以下一些步骤
至此,一个完整的项目开发流程就结束了。当然在实际开发的过程中,可能会出现一些不同的状况,也都有对应的解决措施。
常用小技巧
撤销操作
当git add文件后,发现这些文件并不想添加至暂存区,可以使用git reset命令
当文件修改后,并不想保留文件的修改,而是希望撤销至最近一次commit的版本,使用git checkout
当提交已经commit至本地仓库后,想要取消本次commit,使用git reset –hard <hash>,hash表示的是每次提交产生的hash值
本地开发的项目上传至github中
有的时候我们是现在本地开发好项目,可能觉得这个项目比较好,才会想着上传到github上。
首先在github上创建一个新的仓库,创建完成后会生成一个远程仓库的地址,假如为
https://github.com/zhouxiongking/vue-vuex-notes-app.git
然后在本地的项目中运行git命令,依次如下
删除远程分支
假如某一次操作,我们将分支的名字输错了,并push至远程仓库,此时我们应该将远程仓库的这个分支给删掉,需要用到一下命令
关于pull和fetch
首先我们要知道的是pull=fetch + merge
如果我们使用pull命令,在本地开发完后,git add,git commit,然后git pull从远程拉取代码,这个时候可能出现冲突,在合并冲突后,git add,git commit,这个时候会重新产生一次提交
如果我们使用fetch+merge,在本地开发完后,git add,git commit,然后git fetch从远程拉取代码,这个时候并不会出现冲突,本地代码会出现一个FETCH-HEAD引用,表示最新的代码,然后git merge远程分支,这个时候才会出现冲突,在合并冲突后,git add,git commit,这个时候也会产生一次新的提交
总结
git的使用其实远不止这些,文章中所讲到的不过是自己平时工作中的一些总结。而且每个人都有自己使用git的习惯,不一定要根据别人的来。
如果喜欢的话,记得关注小编噢,小编后续会坚持出更多技术性的文章,如果有任何问题,也欢迎提问,小编都会尽力解答的。