初学者都能懂得 Git 说明
初学者都能懂得 Git 说明
本文写于 2020 年 8 月 10 日
网上有很多非常优秀的 Git 教程,但是他们都是面向有一定基础的开发者的。
可是对于没什么基础的初学者甚至是偶尔操作代码的设计师而言,Git 也是必须掌握的技能!
注意,这不是一个教程,而是一个说明,仅仅针对初学者和设计师或其他不太懂代码却需要一点点 Git 基础概念的人。
什么是 Git?
Git 是一个免费的、开源的代码版本控制系统。
什么意思呢?免费开源好理解,就是不要钱嘛。那什么叫版本控制系统?
所谓版本控制,就是当你修改文件之后,你可以让 Git 记住目前的文件内容为一个版本,并且对该版本进行语言描述;当你下一次修改完成,你又可以让 Git 记住当前的文件内容,这又是一个版本,再对对该版本进行语言描述。
而 Git 的强大就在于,他会记录下你两次版本之间进行的修改,例如你删除了哪些字符,都会被 Git 所记录下来。然后你就可以利用 Git 让自己的文件,变回之前的任意一个版本了!
总而言之,可以理解为,Git 就是关于项目文件中历史版本的注释的集合,以及变化的历史记录。
你是否需要学习 Git?
问自己几个问题吧:
- 你是否曾经尝试过与其他人同时处理一个项目?
- 你是否曾经希望可以将工作回滚到以前的某个版本?
- 你是否想了解开发人员为何进行某些更改?
如果你想解决这些问题,那么就学习 Git 吧。
Git 第零步
下载并且安装一个 Git。(网上有太多手把手的教程,此处就不赘述如何安装了)
新建一个文件夹,将你的终端(或是 CMD 或是 PowerShell 或是 Bash 或是 Zsh)切换到该文件夹下。
然后输入:git init。这是我们小学二年级就学过的英语:初始化 git。
Git 第一步:新建一个文件
对于一个项目,我们通常会新建一个 README.md 文件来向其他开发者简单阐述我们的这个项目。(md 文件是 markdown 文件,一般用于写作,不必深究其中符号的意义)
# 我的 Git 学习项目
在这个项目中,我将会学习 `git` 的各种用法。
如果你此时使用的是 VSCode 或是其他有图形化 Git 界面的软件,你会看到 Git 的图标出现了一个小小的提示。但是我们不急着去使用图形界面,因为图形界面每家都不同,可是命令行里对 Git 的操作是不会变的,哪些图形界面也只是帮你操作了命令行而已。
Git 第二步:收集更改
我们刚刚新建了一个文件,对他新增了内容。对于我们整个项目中,这其实算是一次更改:我们从无文件,更改为了拥有一个 README.md 文件。然后将没有内容的文件,新增了这三行几十个字符。
接下来我们就可以通过 git add 的命令,来收集我们的更改。
git add README.md 翻译成中文就是 git 来帮我添加一下 README.md 文件。
完成后是不是没有任何的提示?这就对了。Unix 的哲学是“没有消息就是好消息”
这个时候我们有一个疑惑,add 既然是添加,那会把我的添加到哪里呢?
这里添加的位置叫做暂存区。你将暂存区可以理解为一个没有关上的快递盒子。
如果我们有需要,随时可以把里面的东西拿出来,或者换成其他的东西,或者放更多的东西进去。
Git 第三步:打包更改
接下来我们要使用 git commit 命令了,它是为了将我们暂存的文件,作为一个版本,并且作出说明后,进行保存与管理。
git commit -m "新增了 README 文件",翻译成中文就是 git 帮我提交一下现在的代码,这次提交我的备注是“新增了 README 文件”。
刚刚说过了,我们 git add 相当于把东西收纳到没有关上的快递盒子里,git commit 就相当于把这个快递盒子给打包好,然后贴上快递信息。
这个信息非常重要,刚刚的 -m 就是 message 的意思。我希望任何时候你都要写这份“快递信息”——如果不想写,是有办法的,但是我不会教给你。
现在我们回顾一下刚刚的操作。
首先我们通过 add 命令,将我们作出修改的文件添加到了暂存区;然后通过 commit 命令将其打包,存为了一个版本。Git 会帮助我们记住这个版本与前一个版本之间进行的所有修改。
Git 第四步:分享您的修改
使用 git push 可以将你的项目上传到远端的仓库中。
我们通常可以使用 GitHub 或者码云。在这两个网站新建账号后,我们可以新建一个仓库,新建完成后,会出现文字提示来告诉我们如何绑定远端和本地。所以在此就不赘述了。
从此以后,我们每次做完修改,都可以先提交到暂存区,然后 commit 打包,最后 git push 到远端仓库。这样远端仓库就会和本地一样,记录我们的每一次打包。
Git 第五步:获取最新的修改
通常我们使用远端仓库是为了和他人协同开发。
那么如果别人对仓库进行了修改,我们的本地仓库会变嘛?
不会的,所以我们需要获取最新的更新:git pull。
在开始工作之前和在 push 更改之前,对项目进行 git pull 是一个好习惯,如果出现了任何冲突都可以及时的进行解决。
PS:和他人协同开发时,如果出现冲突,一定不可以无视冲突,强行上传。请务必解决!
(完)
初学者都能懂得 Git 说明的更多相关文章
- Git 初学者使用指南及Git 资源整理
Git 资源整理 Git is a free and open source distributed version control system designed to handle everyth ...
- 天天都在用Git,那么你系统学习过吗?(一)学习过程
你系统学习Git了吗? 使用Mac编程的好处,不是因为Mac长得好看 Git内容学习准备 如果你还没有用Git,就不要写代码了. GitHub仓库的使用. 新员工入职的时候,会让他先用一周的时间去学习 ...
- 初学者都在坑里!不要在Python中使用“+”来连接字符串
很多初学者都像我一样,最开始使用Python时,会不自觉地使用“+”来连接字符串,就像在许多其他编程语言(比如Java)中那样,因为这样既直观又容易. 但我很快意识到成熟的开发人员似乎更喜欢使用.jo ...
- GIT学习——天天都在用Git,那么你系统学习过吗?(学习过程)
你系统学习Git了吗? 学习圣思园张龙老师的Git课程. 使用Mac编程的好处,不是因为Mac长得好看 Git内容学习准备 如果你还没有用Git,就不要写代码了. GitHub仓库的使用. 新员工入职 ...
- 初学者最易懂的git教程在这里!
一.git简介: Linux创建了Linux,但是Linux的发展壮大是由世界各地的热心志愿者参与编写的?那么那么多份的代码是怎么合并的呢?之前是在2002年以前,世界各地的志愿者把源代码文件通过di ...
- 每个java初学者都应该搞懂的问题
对于这个系列里的问题,每个学JAVA的人都应该搞懂.当然,如果只是学JAVA玩玩就无所谓了.如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列.内容均来自于CSDN的经典老贴. ...
- 怒肝俩月,新鲜出炉史上最有趣的Java小白手册,第一版,每个 Java 初学者都应该收藏
这么说吧,在我眼里,Java 就是最流行的编程语言,没有之一(PHP 往一边站).不仅岗位多,容易找到工作,关键是薪资水平也到位,不学 Java 亏得慌,对吧? 那可能零基础学编程的小伙伴就会头疼了, ...
- PHP初学者都该掌握哪些技能
初学PHP时,不要好高骛远,脚踏实地的把LNMP搞熟练,打好基础再往更高的层次发展.今天给大家总结初学者应该学会的技能. 1.Linux 基本命令.操作.启动.基本服务配置(包括rpm安装文件,各种服 ...
- Java初学者都必须理解的六大问题 (整理自网络)
问题一:我声明了什么! 1. String s = "Helloworld!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello ...
随机推荐
- 学习openstack(二)
OpenStack企业私有云实践 1. 实验架构 OpenStack我们把它当作是一个全新的"Linux"系统来学习,有的时候我们也把OpenStack称之为一个新的Lin ...
- visual studio 2019工具里添加开发中命令提示符的方法
最新新装了visual studio 2019,发现默认的没有开发者命令提示符 现将添加步骤描述如下: 从VS2019菜单选择"Tools",然后选择"外部工具" ...
- 如何制作icon-font小图标
1.首先可以去iconfont.cn阿里巴巴矢量字体库中下载你想要的图标(选择格式为SNG格式). 2.打开iconmoon这个网站(这个样子的),然后点击右上角那个Iconfont App如下图: ...
- 居中的css:完全指南(翻译)
这里主要参考的是CHRIS COYIER写的一篇的文章(点击查看),主要讲了关于css水平.垂直居中的一些方法,每个方法后面都有一个demo,可以在线查看效果. 1 水平 水平居中有行内元素和块元素, ...
- 使用css完成引导用户按照流程完成任务的进度导航条
首先先看设计稿 图中的12345便是主角进度条. 分析需求如下:线的长度不固定,适应移动端和pc端点平均地分布在一条线上点的个数不固定,可能会改变激活的点之间线的颜色是绿色的 两种种方式 百分比宽度切 ...
- Python中关于进度条的6个实用技巧
1 简介 费老师我在几年前写过的一篇文章(https://www.cnblogs.com/feffery/p/13392024.html)中,介绍过tqdm这个在当下Python圈子中已然非常流行的进 ...
- Linux---远程连接、命令行基础、文件及目录管理
远程连接管理Linux实践(centos) 连接小知识 IP地址:访问连接服务器,需要通过服务器的IP地址来实现,服务器的IP地址就相当于服务器的具体地址.一计算机都会有一个唯一的32位的IP地址,8 ...
- 数据库篇:mysql事务原理之MVCC视图+锁
前言 数据库的事务特性 数据并发读写时遇到的一致性问题 mysql事务的隔离级别 MVCC的实现原理 锁和隔离级别 关注公众号,一起交流,微信搜一搜: 潜行前行 1 数据库的事务特性 原子性:同一个事 ...
- 基于Apache Hudi在Google云构建数据湖平台
自从计算机出现以来,我们一直在尝试寻找计算机存储一些信息的方法,存储在计算机上的信息(也称为数据)有多种形式,数据变得如此重要,以至于信息现在已成为触手可及的商品.多年来数据以多种方式存储在计算机中, ...
- Hyperledger Fabric定制联盟链网络工程实践
总体来看,网络上成体系的可用的 Fabric 教程极少--不是直接在 Fabric 官网复制内容大谈基础理论就是在描述一个几乎无法复现的项目实践,以至于学习 Fabric 的效率极低,印象最深刻的就是 ...