代码版本管理扫盲
这里不讲工作区暂存区之类的东西只作扫盲大白话理解即可0.先考虑一个问题 代码版本管理是在干什么当你有个项目的时候你有一次改动了很多代码修改了几十个文件结果啪一下项目崩了你怎么办呢撤回改了几十个文件已经撤不回来了。该头大怎么让代码回到修改之前的样子了吧。又或者你有一个app更新了十个版本第一个版本的时候可以正常拍照第十个版本不行了你想看看第一个版本的代码当时怎么写的。你该怎么办又该头大了吧。从上面这两种情况的痛点可以理解代码版本管理工具的作用就是帮你管理你的代码在不同历史时间的样子。也就是方便你随时回溯到某个时间的代码。一.首先认识几个词代码仓库简单来说就是一个存放项目代码的文件夹。只不过和普通文件夹有个区别就是这里面有个隐藏子文件夹.git用于存放该代码仓库中文件内容的变更记录比如增加修改删除之类的。二.区分代码管理工具与仓库托管平台gitgiteegithubgitlabcodeup这些词看起来很近似但实际上作用并不相同git是代码版本管理工具用于管理你项目中的代码变更比如添加了哪行删除了哪行更改了哪行新增了哪个文件删除了哪个文件。git可以帮你把这些行为记录到代码仓库的.git 目录中。其余的那些东西都只是代码仓库托管平台。说白了就是平台这个平台上有一堆代码仓库人们可以克隆git clone这些仓库或者直接下载仓库说白了就是下载这个文件夹不理解没关系一点一点来当你有一个项目要进行版本管理的时候要做的事情如下第一件事情就是让这个文件夹成为一个本地代码仓库。要不没有.git目录来记录代码的变更在目标文件夹下使用git init命令实现下一步就可以开始写代码了。现在假设你新建了一个文件zjh.txt里面写了个hello world。写好了代码之后这个代码的版本就已经被git管理了吗还没有虽然你新建了一个文件还写入了内容但实际上这个时候git还没有开始管理这个文件不是文件新建好/更改完就自动被标记为被git管理的文件的此时你需要使用 git add 文件名 从而让git管理这个文件。操作完之后这个新的代码其实就已经进入到git管理的范围内了。接下来就可以继续写代码了写完之后记得使用git add命令把你的变更让git来管理上面的内容只是让你把代码交给git来管理但是还不够他现在接手了但是还不知道版本呢。假如有一次你gitadd了十个文件这十个文件的代码变更已经被git知道了。如何把他标记为一个小的版本呢使用git commit命令把他提交。这个提交就可以理解为把刚才add的那一堆文件里的操作作为一个小版本给提交到了仓库以后你可以让代码返回到这个小版本。理解了一下addcommit的大白话现在理解一下push吧。上文提到了一个叫做“本地代码仓库”的东西很自然有本地就有远程嘛远程的代码仓库说白了就是没在你电脑上的代码仓库你可以把自己的代码仓库上传到远端这样的话假如有一天你电脑出故障了代码崩了也能从远端拉回来代码还能方便团队合作。git push做的事情就是把本地代码仓库的变更同步到远端。刚才提到了团队合作假如今天有人推送了一些代码的改动到远端你想知道他改的啥这时候就需要把他的代码更新到你电脑上此时使用的就是git pull命令现代的IDE、编译器在你把项目从文件夹初始化为init之后已经帮你做了很多事情了。比如刚才我提到了你每次改动完代码要git add。ide现在帮你做的事情是你新建这个文件的时候git add一次就行了以后再改动这个文件他会自动帮你操作git add此外还把addcommitpushpull这些命令已经给你封装到了他们的页面当中点一点就可以了甚至都不用输命令了