本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一块儿天天进步一点点git
Git是咱们平常开发的必备工具,是团队协做的利器。Git使用普遍,而之因此如此流行,主要和它的一些突出的优势分不开。服务器
咱们在使用Git时,不管是从远程仓库clone代码,仍是把本地的代码推到远程的新仓库,都是完成的克隆一份代码。至关因而复制了一份代码到别的地方,也就是备份。微信
并且Git是去中心化的,这个去中心化简单理解就是每一份代码都是能够独立编辑使用的,不会由于某一个机器上的代码丢失了,而致使全部人都丢失代码或没法工做。分布式
在 Git 中的绝大多数操做都只须要访问本地文件和资源。工具
举个极端的例子,假设公司的开发团队的代码都托管在GitLab上,若是有一天,GitLab忽然挂了不能用了,会出现什么状况?实际上对咱们开发影响不大,由于咱们每一个人的电脑上都有一份代码,代码并无丢失,你们仍是能够继续开发。post
有影响的是团队协做,你们无法同步代码了,也就是把你们开发的代码合并在一块儿看效果。而这个也很容易处理,由于咱们能够本身搭一个Git服务器,这个也是比较简单就能实现的。学习
Git存储了跟踪文件的每次提交的快照,咱们每次提交一次(commit),Git就保存了一次。之后咱们能够随时回到某一次提交(Commit)。使用git log
命令能够查看当前分支的全部提交记录。spa
这里也引出了一个Git使用习惯,就是即时提交(Commit)。只有即时提交了,后续若是发现代码有bug,才能回滚到最理想的位置。固然也不是随便写几行就提交一下,那也是蛮累的。主要是一些必要的节点,好比完成一个小模块小功能等。插件
Git使用起来也比较简单,既能够用命令行也能够用第三方的工具,好比Android Studio自带的Git插件,Mac下的Sourcetree等。可是尽管像Sourcetree已经作得很人性化很简化了,在实际使用过程当中咱们仍是不免碰到一些奇怪的问题,有时候是软件使用不熟悉,特别是使用一些相对高级一点的功能,好比回滚,合并冲突等。命令行
我以前也是很依赖Sourcetree,一来是由于若是用命令行,须要记住不少的命令;二来是由于Sourcetree这样的软件相对来讲比较直观,内心更踏实一些。
直到有一次,用Android Studio的Git插件推送的时候,推错分支了!而后为了回滚,在Sourcetree上忙了好一阵仍是没有抹掉“犯罪证据”!后来仍是同事帮忙弄的,非常尴尬!
此次教训让我慢慢开始切换到用Git命令行为主,Sourcetree为辅的路子上来。如今基本没有Git的问题困扰了。
正是基于以上的几点,我准备把本身最近学习到的一些Git知识总结记录下来,会分为几篇文章,但愿本身之后碰到Git问题能快速的找到缘由并解决,也但愿对你们有所帮助。
欢迎关注个人公众号查看更多精彩文章!
复制代码