周末学第一波-git学习心得

git学习心得

利用一个周末的空余时间,终于将自己一直想复习和进一步学习的git。学习过程中发现,自己虽然以前使用过,但是随着时间流逝,记忆也在流逝…所以下面将自己本周学习过程和踩得坑记录下来,以便后续查看。好了,天也不早了,咱们该干点正事了…

  • 学习git之前首先得知道什么是git,它能干嘛,隐约的记得还有github是个什么玩意,和git有啥关系?

这一系列的连环问题,问出了一个git小白的心声,咱们就用简单直白的语言来回答一下:
git 是分布式版本控制系统。看字面意思就知道,是控制版本的一个工具,他的作用当然就是控制文件的版本。那么如何控制版本的,比起传统的复制粘贴拷贝等手动式的控制版本有什么优势,咱们等下介绍。

说完了git,咱们来说说什么是github,github其实就是一个开源的远程仓库,可以代替你保管你的文件。在没有远程仓库以前,大家同时参与一个项目,而且要达到版本控制是非常困难的。有了github,大家可以利用克隆和分支功能,参与更多的开源项目(如人气极高的bootstrap项目)或者管理自己的项目。

综上所述,他们的关系就很明了了。git是一个工具,可以控制你的文件和版本。而github是一个远程仓库,可以保管你的文件和版本,当然别人也可以克隆的你的文件,进行修改,达到一个互相交流学习的目的。

  • 那么问题又来了,既然是版本控制,我咋听说很多公司都用的svn啊,它和git又有啥区别?

svn确实使用比较普遍,它是集中式版本控制,顾名思义,集中式肯定要以一个中央为主,所以他有个中央服务器,每个人将修改的文件和代码要放在中央服务器,每次修改之前,最好update一下。而且使用svn需要联网,在局域网下还好,不在局域网下,有没有很好的带宽,那恭喜你了,有时候穿个几M的文件,绝对让你等到窒息。那git就不同了,它是分布式,即每个人的本地都会有一套完整的版本库,你修改了文件,在本地就可以控制版本,然后push到分支,如何有冲突,处理冲突即可。这样也会更安全,没有中央服务器的概念,万一有人的文件丢失,也不会造成影响,只需要在分支上clone一个即可。

- 第三问来了,既然把git说的这么好,能具体说说git的优势和功能么?

git的优势就是分布式管理,它可以记录你项目或者项目的版本,确保一个项目的完整性,没有中央服务器,不会因为单点故障导致大家都不能工作。
既然记录了版本,就可以回退到前一个版本,查看每一个版本都修改了什么,这里就需要温馨提示,在每一次提交时最好将备注写清楚,因为当时你头脑清晰,记得自己修改了什么,但是随着时间的流逝…你懂得
前面说了svn需要联网,这样不好。那git肯定就是不联网也可以控制版本了。所以它支持离线提交,相对独立不影响协同开发。

那如上面的介绍,大家应该初步认识了git,肯定有小伙伴急于想知道咋用了,下面我将介绍下,如何使用git。为了节省时间,有些软件安装我就不再记录,在文章里,我会贴上我自己参考大佬的链接,在这里先拜谢那些个大佬。

好了,言归正传,首先在window上装上git,为了照顾部分小伙伴,我将软件下载链接贴出来,官网如下:
https://git-scm.com/downloads ,大家可以自行下载自己需要的版本。需要注意的是git原来就是在linux上开发的,随着时间的流逝,它被移在了windows、mac等系统上…
liuux上安装git
我这里要说明的是,我是在阿里云服务器安装的,服务器版本centos_7。步骤如下:

安装git
yum -y install git
查看git版本
git --version
添加git用户
adduser git -m 或者 useradd git
设置git密码
passwd git
跳转到git目录
cd /home/git
为了学习,我还搭建了一个自己的仓库,步骤如下:
创建空仓库
git --bare init app.git
设置git文件夹操作权限
chown -R git:git app.git
生成密钥
ssh-keygen -t rsa -C "*****"(注意密文自己写)

猜你喜欢

转载自blog.csdn.net/weixin_39446297/article/details/90139051