git快速指南

2018-05-19  本文已影响18人  awsome365

为什么要用git

自从开始公众号写作,经常要改一些稿子,也有时文章写到一半有事忙,而且我有多台电脑(家里的、办公室的、笔记本)。所以经常要把稿子存起来,U盘使用不方便,网盘到是可以但是不好用:总是一个文件名写着“最新版”“修改版”“二次修改版”等等提示。这样不但乱,而且每次修改了什么,时间久了就忘了。

所以开始使用版本控制工具——git。从此只需要定期执行提交、推送操作(commit、push),我重要的文档不但备份了,重要的是不怕修改了。

安装git

git本来是命令行工具,后期开发了许多客户端(GUI)。可供选择的很多,推荐用SourceTree(mac、win)、TortoiseGit(win)、GitKraken(mac、win、linux)。我现在就是在用SourceTree和GitKraken。

上手git

有些人说一开始学git就要从命令行开始。这样学习曲线太陡、效率太低,尤其是对于一些不熟悉命令行操作的人。

我们要结合自身需求学习。git是工具,应该方便自己,不要被工具阻碍。我就觉得从客户端入手学习git挺好,而且使用过程中客户端显示版本变更很方便直观。从另一方面讲,从客户端入手,可以快速上手使用,使用一段时间对git有了认识,再找些详细资料深入学习。这样由简入深轻松许多。

快速入手的诀窍在于:git基本使用功能&练习方案。 参照最常用的功能,自己在电脑上按照练习方案练习两遍,你就可以把git用到工作、学习上了。如果你只是简单同步资料、文章,甚至你都不需要深入学习分支,git基本的功能就够了。

git基本功能

本地仓库和远端仓库
本地仓库(Repository)是你电脑上的文件夹,远端仓库是服务器上的文件夹。

本地仓库一旦建立,会产生一个隐藏文件(.git)。这个文件就用来记录每次变更的文件版本,方便查看、恢复。隐藏文件不用管理,我们只需要关注自己的文档。

远端仓库可以使用现成的服务商提供的,例如github、gitbucket等。如果自己有VPS也可以自己架设git服务,操作上不太难。我用的是gitbucket,因为它提供免费的私有仓库,而github私有仓库要钱。如果你愿意公开你的文字、代码,github是个不错的选择。

add

要想把一文件本地推送到远端,顺序是:add、commit、push。add是暂存,commit是提交,push是推送。对于初级使用者,add和commit没什么区别,进阶使用时涉及分支时add才有作用。简单讲,add操作是将文件暂时存入索引。

索引(Index)位于工作目录和数据库之间,是为了向数据库提交作准备的暂存区域。索引的存在可以排除工作目录里不必要的档案提交,还可以只将档案变更内容的一部分加入索引并提交。

commit

若想把变更与新增的档案/目录储存到数据库中,需要执行提交(Commit)。执行提交后,数据库里会产生上次提交的状态与现在状态的差异记录(也被称为Revision)。执行提交时,系统会要求输入提交信息。请务必输入提​​交信息,因为在信息空白的状态下执行提交是会失败的。

Git的标准提交信息:
第1行:提交时修改内容的摘要
第2行:空行
第3行以后:修改的理由
建议以这种形式填写提交信息,方便以后查阅

如果你只在这一台设备上工作,也无备份的需求,执行到commit操作就可以了。

共享仓库

为了方便多设备协作,可以将本地数据库push到远端仓库。从远端复制仓库使用clone,pull为从远端更新本地已有仓库。同时实现了文件备份和版本控制两大功能。

clone是在一台电脑上首次使用远端仓库,完全下载文件。pull是本地已有该仓库,从远端仓库文件更新。

合并修改记录

使用中可能遇到这样的情况:上次的push到执行下一次的push的期间,如果有其他人push更新了远端数据库,而你没有更新本地端数据库,那么这次push会被拒绝。即一个文件远端仓库和本地仓库不一致,这时push都会失败。

这时只有先pull下来远端仓库里的文件,git自动合并,同时会在该文件里显示冲突内容。文档里用==分隔的上方是本地端数据库的编辑内容,下方是远端数据库的编辑内容。我们需要手动修改冲突内容后重新commit、push。建议养成每次使用文件前先pull的习惯。

练习方案

看完上面的介绍,再练习练习很快就能上手。

  1. 注册一个github或者bitbucket账户
  2. 安装sourcetree,按照软件提示输入上面刚注册的账户
  3. 用sourcetree创建本地仓库,先随便建几个文档,试试在本地管理版本(add、commit)
  4. 登录github或者bitbucket网站,建一个远端仓库(理解成在远端电脑操作),记下仓库的URL(地址)
  5. 在sourcetree上添加远端仓库URL,使本地和远端连接
  6. 试试push、pull、clone操作。配合浏览器、sourcetree、文件管理器,模拟真实使用时需要的功能,多试验几次就上手了。

附:git 常用指令

这边是一些常用的 git 指令,常用就会自然记起来,不用硬背,你可以在遇到问题的时候再回来看这篇。

存档:
最一开始的时候要先执行存档:
cd 你的专案资料夹名称
git init
git add .
git commit -m "对于修改部分的简要叙述"

新增一个分支:
git checkout -b 你想取的分之名称

这样你的存档会自动被保留在这个分支里。
如果不小心做烂了,可以直接切回上一个分支去做。

切换分支:
git checkout 你想要切换到的分支名称
举例来说,假设你从01开始做,做到02的时候烂掉了
你可以 git checkout 01 回到01再重新开始做

那这个烂掉的02要怎么办呢?虽然你可以产生另一个新的02-1,但还是建议把错误的删除掉,这样才不会做到最后变得乱七八糟的。

删除掉brach的方法:
先离开你要删除的分支,接着执行 git branch -d 你要删除的分支名称
就可以了。

上一篇下一篇

猜你喜欢

热点阅读