分享一些git小技巧,与个人心得体会

由于微信不支持外部链接,想查看外部链接请单击左下角的原文阅读

1.写本篇文章的由来

最开始我只会用git最简单的几个命令,例如:git add, git commit -m "", git push, git pull.因为我有俩太电脑,俩个电脑代码共享不方便,于是就想到了使用github。而最近因为以下原因激发了我全面了解git的兴趣:

1.总是碰到代码冲突,不知道怎么查看解决

2.某次删了一个写的差不多的功能,后来有需要但是找不回来了,于是就想用git高度管理我的代码,不让这种悲剧再次发生(当时愤怒至极,这也是主要原因)

2.git的优点

由于我本人有着SVN的经验,所以此处特地拿SVN跟git做对比

1.每台电脑都保存有提交记录

SVN 只有中央服务器才有提交记录,本地上查看的log都是拉取的服务器上的记录,如果有一天你的服务器自爆了,这就代表着这些记录都没有了。你电脑上只是保留了最后一个版本的快照仅此而已。有的时候你可能还需要在家工作,如果你们公司设置了域名限制,那你只能苦逼的在公司加班了。

git 每台电脑都保存有提交记录就可以避免上面的问题发生。

2.本地可以搭建分支

SVN 说实在的,在我了解git之前都不知道有分支这个概念(分支通俗来说就是从主干复制了一份文件,你修改复制的文件对主干不会产生影响)。当我知道了之后不得不感叹高手的工作方式

git 有分支概念,也就是有复制文件的功能,但是要比复制文件强很多。你复制一份文件还要找地方存储,如果复制的多了就容易混淆了,可能需要做笔记,而git只需要一个简单的命令就能够帮你复制文件并且自动记录。

3.更多的优点可以看官方的介绍

上面是git官网给出的git优点,都是比较专业的词汇。想知道具体解释可以戳这个链接

3.git的缺点

没法控制权限,由于git的发明者是开源代码的鼻祖,所以对控制权限嗤之以鼻,没有设置这个功能,对于一些对代码保护有要求的公司可能不太合适,网上提供了Gitolite来控制权限,我本人没试过。有需要的可以自己了解一下。

4.学习资源

1.官网

git官网还不支持中文,所以要看起来还是比较费时的,不过他里面提供了一本翻译成中文的书,语言选择在左边列表,从目录看里面对git介绍挺全的(我看了一部分就看不进去了,等以后有兴趣了再看吧),链接在这里

强烈建议学习某个新知识一定要先从官网开始,哪怕没有中文翻译。官网这里一定是最全的,实在看不懂才开始找其他素材

2.廖雪峰的git教程

这个教程里面讲的几乎都是很稀疏常见的操作,满满的入门干活。看完这个使用git教程基本上没有问题了。链接在这里

这个教程对我影响很大,刚开始我从git官网上啥也没看出来,那本书也是我学完了这个教程想着再去看看有没有什么我没了解的才翻出来的。这个教程从安装git环境,到提交第一条记录,创建一个分支,合并分支,解决冲突,使用github,设置一个github服务器讲解的很显浅易懂。不可多得的好文章。

5.github你还需要了解这些东西

1.github上面的版本标签你了解过么?

从图中你应该能够看出来这是版本的意思吧,现在是不是不愁找到某个版本了。重要的是千万别下载了一个开发版本

2.添加别人的项目到自己的仓库上来

这个功能超级实用,只需要单击一下fork就在你的仓库里创建了这个代码的副本。我之前不知道一直自己创建仓库,克隆别人的代码然后上传到自己的仓库,别提多麻烦了。

6.git这些实用的操作你了解了么?

1.设置别名

如果你有条件可以复制上面的命令在你的git项目输入一下,然后在输入下面的命令,看看效果,没有条件可以看我发的图片

这是一个简化log输出记录的命令,并且把各个参数设置了各种漂亮的颜色使得log命令简单易读,有了别名设置你就只需要简单的俩个单词就可以得到这么漂亮的git log输出了是不是爽歪歪,共同格式如下

2.设置漂亮的版本记录

git 提交的内容实在是太乱了,整这么一个hash值,死丑阅读性又差,而且git提交的次数那么多,我要是整俩个版本。中间都不知道间隔多少了,要是能够只保存像下面图片上的快照一样查看版本记录就好了(快照:类似于分支,只是叫法不同).

实现这个很简单,就是git中一个简单的tag命令(标签命令),我整理了几个常用的操作:

之前写的文章有人说我打广告,纯属冤枉。我只是把一些对我产生实质性影响的干货发表出来让共多人了解到这些好东西仅此而已。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180713G1Y7SU00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券