简单十分钟入门,
学习地址(傻瓜式一键入门教程):https://www.runoob.com/manual/git-guide/
1、生成本地仓库(Repository)
在本地创建一个新的git仓库:打开一个新的文件夹,执行
git init
或从远程服务器(如GitHub)上直接克隆远程仓库:
git clone <远程服务器地址>
2、添加(Add)和提交(Commit)
本地的仓库由git维护的三棵“树”组成,第一个是我们的工作目录,他存放了实际的文件,第二个是暂存区(Index),他是一个缓存区域,临时保存我们的改动,最后是HEAD,他指向我们最后一次提交的结果。
我们在本地仓库中对文件夹中的文件进行了添加、修改、移动或删除等操作都称为一次add操作,git会将我们做出的更改添加到了暂存区中,而add操作同样add操作也可以在GIT BASH 中通过
git add <FILENAME>
或
git add *
来实现。
在git将我们改动保存到暂存区后,我们还需要将改动提交至HEAD区来进一步保存,这一步我们我们成为提交操作(commit),它可以帮助我们记录我们每次提交操作的操作信息,代码为:
git commit -m "代码提交信息"
具体理解git管理本地版本的流程如下图所示:
3、推送改动
上面我们已经将本地的改动提交到HEAD中了,但是我们想要在线保存这些改动或者和别人分享我们的项目改动就需要将本地仓库推送(PUSH)至远程仓库,推送时我们需要选择想要推送的分支,下面以master分支为例,下面这条代码可以把master换成任何想要推送的分支
git push origin master
如果我们没有克隆远程仓库,而是新建了本地仓库,并欲将你的仓库连接到某个远程服务器,我们需要首先将本地仓库添加到远程服务器中,代码:
git remote add origin <远程服务器地址>
4、分支与合并
分支是git最灵活的工具,我们可以利用分支(Branch)来将不同特性的项目开发绝缘开来。
我们可以为不同的项目方向指定不同的分支,也可以在自己开发时为不同的设备指定不同的分支,每个分支都是可以被推送到远程仓库的,但只要我们不推送具体分支到远程仓库,其他人就无法看到我们创建的分支,这方便我们在自己开发的过程中创建不同的本地分支管理项目进度,并在使用完某一分支后将其合并到主分支并将其删除掉,而不影响项目的其他分支和整体项目的工作。
分支是可以被创建、切换、合并和删除的,常用的指令有:
创建并切换到新分支:
git checkout -b 分支名
切换到某一分支:
git checkout 分支名
删除某一分支:
git branch -d 分支名
推送某一分支到远程仓库:
git push origin <分支名>
将一个分支合并到当前分支可以通过分支合并代码来实现:
git merge <要合并的分支名>
但需要注意的是,两个分支的合并并非每次都能成功,很有可能产生冲突(conflicts)。这时候需要我们人为的去修改冲突的文件(windows系统建议下一个tortoise git,方便查看冲突文件),在修改完后,我们需要执行add命令来标记为合并成功。
git add <FILENAME>
5、更新
我们的本地仓库在与远程仓库建立链接后,可以随时获取远程仓库的最新改动并更新到本地,特别是在多人开发项目的过程中,每次在本地仓库开发前对本地仓库的更新是非常有必要的,更新代码:
git pull
Git 的PULL操作其实是通过获取(fetch)和合并(merge)两步完成的。
6、标签
当我们的项目进行到某一阶段或成功开发到某一版本时,我们可以为项目整体添加一个标签,我们可以通过以下代码来创建:
git tag <标签名> <提交的ID号>
标签名常以V1.0.0等标识,标签号是为该项目的发布提供一个ID,一般为ID的前10为字符,也可以只提交ID的前几位,只要它具有唯一指向性。
7、替换本地改动
如果我们本地的改动出现了操作失误,想要替换掉我们本地仓库中对某一文件的改动,我们可以通过以下命令,将HEAD中的最新内容替换掉我们工作目录中的文件:
git checkout -- <filename>
上面的方法仅能在我们还没有提交前对文件进行替换,但若我们已经将本地的改动提交到HEAD,我们若仍想替换本地改动就只能将本次所以本地的改动和提交都丢弃掉,我们可以通过远程获取指令来获取服务器上的最新版本
git fetch origin
并通过
git reset –-hard origin/<本地主分支名>
将获取到的最新版本指向我们本地主分支。
以上是对开篇的链接进行的学习记录,其中还有很多知识非常模糊,如代码中的*和origin的含义,PUSH和PULL的实现过程,这些问题将在后续的学习中进一步思考讨论,接下来的学习链接——菜鸟驿站的git使用教程:
https://www.runoob.com/git/git-tutorial.html
未完待续~