Git的基础使用【新手向,不讲复杂概念,不用高端操作】
写在前面
本人写代码有几年了,但在版本管理方面,刚开始就是纯粹靠“文件夹”管理——就是一个版本存一个文件夹。后来,用过一段时间的svn,再后来,因为新单位的同事都用Git,才不得不学习使用。
所以,本文并不是高深的Git技术讲解,只是一个简单的基础使用加我个人的理解。也算是记录了我自己这段时间摸爬滚打学习出来的结果。以备后面忘了查看。
Git是什么
Git就是一个代码版本管理工具,其实跟SVN干的是一样的事儿。当然了,他们的组织形式有些不同。现在多数的公司都是使用Git来作为代码管理工具。
Git的几个概念
Git有远端库和本地库两个库,我们后面要学习的很多操作,其实就是在这两个库里面倒过来到过去,来回折腾。
远端库:可以是Github、Gitlab、Gitee(码云)、或者公司自己搭建的服务器之类的。
本地库:就是你用来开发的计算机上存储的代码库。会放在你项目文件夹里的.git文件夹内。
分支:一个项目可以同时存在多个不同的版本,但既然是分支,就有个根。所有的分支都是要从别的分支上“分岔”出来的。远端库的分支,叫做origin/abcd,本地分支就叫abcd。对于新手,就当他们是一一对应的就可以了。
主分支:分支里有个特殊的分支,远端一般叫origin/master,本地叫main或者master。这个是项目主分支,一般是用来放稳定的版本。多数公司里面,是禁止直接在远端的master提交代码的,而是需要提合并请求,再经过代码审核才可以。
几个常用的命令
git init
这个命令是初始化一个本地的git项目。说白了,就是在本地文件夹内,创建一个.git的隐藏文件夹
git clone <远端项目地址>
这个命令是在完成了init之后,把远端的某个项目clone到本地文件夹内。可以理解为把本地git项目和远端的项目做好了关联。
git pull
把远端库的所有分支,同步到本地库里。
git push
跟pull相反,把本地库的分支,推送到远端库上
git checkout <ABCD>
检出,一般在git pull之后使用,这么操作后,你本地看到的代码,就是本地ABCD的代码了;当然,因为之前pull过,所以也是远端origin/ABCD的代码
git add
本地修改代码以后,需要先通过add,把修改过的文件提交到暂存库。一般用git add --all就可以了,除非你想选择提交哪些,不提哪些。
git commit
一般接着git add使用。把暂存库的文件,提交到本地库。一般使用git commit --all 就可以了,除非你想选择提交的文件。
git status
查看当前git状态。看看目前你checkout出来的是哪个分支,修改了哪些文件、暂存库里有哪些文件。。。执行其他命令前,应该看一下。
git merge <ABCD>
把ABCD分支,合并到当前分支(就是你checkout出来的分支,通过git status也可以看到)。有时候需要手动处理代码冲突,这是容易出错的地方,需要仔细看看:到底是保留当前分支、还是merge进来的分支代码。
个人认为,会用以上这8个命令,已经可以应付大多数的git使用场景了。当然了,他们每个命令都有很多参数可以选择,详细的可以去看--help 。但对于初学者,知识太多反而是负担,先正确的用起来是第一步。