Git学习系列基础篇
参考 《从0开始学习Github系列》
What is Git?
Git是Linux发明者Linus开发的一款版本控制系统那么什么是版本控制系统呢?
熟悉编程的知道,我们在软件开发中源代码其实是最重要的,那么对源代码的管理变得异常重要:
比如为了防止代码的丢失,肯定本地机器与远程服务器都要存放一份,而且还需要有一套机制让本地可以跟远程同步;
又比如我们经常是好几个人做同一个项目,都要对一份代码做更改,这个时候需要大家互不影响,又需要各自可以同步别人的代码;
又比如我们开发的时候免不了有bug,有时候刚发布的功能就出现了严重的bug,这个时候需要紧急对代码进行还原;
又比如随着我们版本迭代的功能越来越多,但是我们需要清楚的知道历史每一个版本的代码更改记录,甚至知道每个人历史提交代码的情况;
等等等类似以上的情况,这些都是版本控制系统能解决的问题。所以说,版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统,对于软件开发领域来
说版本控制是最重要的一环,而 Git 毫无疑问是当下最流行、最好用的版本控制系统。
Git的基本命令列表
命令行里输入 git,出现以下提示证明已经安装成功了。下图分别为Windows和Linux下的情形。
上图直接给出了Git的一些基本命令,下面分别进行实践学习。
首先,新建一个文件夹,并新建一个文件
mkdir test
cd test
touch a.md
Note:在进行Git操作之前,都要先切换到Git仓库目录,也就是要切换到项目的文件夹下
git status
该命令顾名思义就是查看状态。
当前目录还不是一个Git仓库。
git init
初始化仓库:
至此,test目录已经是一个git 仓库了。
紧接着再次输入git status命令
提示a.md文件Untracked files,就是说这个文件还没有被跟踪,还没有提交在git仓库里,而且提示可以用git add命令来提交。
git add
随便编辑下a.md文件,然后输入git add a.md
,然后再输入git status
:
此时提示以下文件Changed to be committed,a.md 文件等待被提交
git commit
接着输入git commit -m 'first commit'
,则进行了第一次的正式提交。
git log
查看所有产生的commit记录
git add & git commit
我想要提交直接进行 commit 不就行了么,为什么先要再 add一次呢?首先 git add 是先把改动添加到一个「暂存区」,你可以理解成是一个缓存区域,临时保存你的改动,而 git commit 才是最后真正的提交。这样做的好处就是防止误提交,当然也有办法把这两步合并成一步,不过后面再介绍。
git branch
branch 即分支的意思,分支的概念很重要,尤其是团队协作的时候,假设两个人都在做同一个项目,这个时候分支就是保证两人能协同合作的最大利器了。举个例子,A, B俩人都在做同一个项目,但是不同的模块,这个时候A新建了一个分支叫a, B新建了一个分支叫b,这样A、B做的所有代码改动都各自在各自的分支,互不影响,等到俩人都把各自的模块都做完了,最后再统一把分支合并起来。
执行 git init 初始化git仓库之后会默认生成一个主分支 master ,也是你所在的默认分支,也基本是实际开发正式环境下的分支,一般情况下 master 分支不会轻易直接在上面操作的,你们可以输入 git branch 查看下当前分支情况。
执行git branch a
就新建了一个名字叫 a 的分支,这时候分支 a 跟分支 master 是一模一样的内容;执行git checkout a
,切换到分支a;先新建再切换,未免有点麻烦,有没有一步到位的,聪明:git checkout -b a
,即新建一个分支,并且自动切换到分支a。
git merge
git merge 就是合并分支用到的命令,针对这个情况,需要先做两步,第一步是切换到 master 分支,如果你已经在了就不用切换了,第二步执行 git merge a ,意思就是把a分支的代码合并过来,不出意外,这个时候a分支的代码就顺利合并到 master 分支来了。为什么说不出意外呢?因为这个时候可能会有冲突而合并失败
git branch -d
删除一个分支 git branch -d a
git tag
给代码加标签 git tag v1.0
基础篇到此结束!