Git入门教程(一)

今天开始学习Git,所以就把每天学的东西写下来,不然真的太复杂,容易忘记呀。 这里推荐一个网站Webscripting2 — Serverside Webscripting — xx.git,英文一般般的都可以上去看看,我觉得非常直观。

        首先Git,其实就是一个版本管理的仓库,因为写代码嘛,总要改来改去,万一改错了呢,想反悔怎么办?Git就是一个“后悔药”,你修改了什么东西,如果是重要的并且你想记录下来的,它就帮你保存下来,以后你就可以随时回到那个版本。

        首先是安装,直接到官网Git下载exe文件就行了,然后一路默认安装。

        安装成功发现有三个东西,Bash、CMD和GUI,其实都是用来进行操作的,习惯用哪个都行,我自己用的是Bash。打开之后,首先用git config进行一些设置,写一下你的名字和邮箱什么的,这个就是后面可以用来区分谁做出了修改的。

$ git config --global user.name "你的名字"
$ git config --global user.email 你的邮箱

        然后,转到你指定的某个文件夹下面,用init新建一个仓库。

$ git init

        就这样,仓库就建好了。但是里面没有东西呀,所以就可以手动把一些文件放到同一个文件夹下,假设放了个test.py文件。

        两个常用的指令,status用来查询文件夹下的git状态,log则可以查看日志文件,有哪些版本,各自版本是做了什么修改。

$ git status
$ git log

        之后就是让人头疼的地方了,先放一张图。

第一个版本库 Repository

         在这里,我们刚刚加入到文件夹中的test.py文件,就是处于Untracked的状态,也就是Git对它不管、不跟踪修改。使用add,就可以把它变成Staged,一种暂存的状态。再使用commit,变成Unmodified,Git才算正式接收这个文件,就可以开始对它进行版本管理了。

$ git add test.txt
$ git commit -m '修改信息,最好用英文'

         这时,如果我们对test.py文件做出了修改,它就会自动变成Modified的状态,例如我在里面写了一行代码a=1,用status命令可以看到它变绿了。然后我们可以通过add加commit,提交一个版本。用log命令就可以看到我们提交上去的版本信息了。

$ git add test.py
$ git commit -m 'add a=1'

       学到这里,可能我们就会有疑问,为什么会有Staged这样一个状态呢?能不能我修改了代码,变成Modified,就直接提交版本,变成Unmodified呢?这其实是Git的内部机制决定,除了Git,还有很多的版本控制工具,还真有不用Staged状态的。至于作用的话,看到一句很形象的总结:Staged是购物车,add就是加入购物车,commit就是确认付款。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/307756.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode135. 分发糖果

一:论语 二:题目 三&#xff1a;上码 class Solution { public:int candy(vector<int>& ratings) {/**思路:1.这里我们分两次遍历(从左向右 从右向左)2.当我们从左向右遍历的时候 如果右边的评分比左边孩子分数高 那么右边孩子的糖果数上就在左边孩子糖果数上加一3.当…

Java国家/地区使用限制条款引发争议

喜欢就关注我们吧&#xff01;今天 JDK/Java 15 发布&#xff08;看今天推送的头条&#xff09;&#xff0c;在 RI 包里有开发者发现其标注了一则国际使用限制条款&#xff1a;由于某些国家/地区的知识产权保护和执法有限&#xff0c;因此 JDK 源代码只能分发到授权的国家/地区…

反射的基本知识(详解)

一:反射的引出 1:问题 比如我们给出一个student类 其方法show(),我们将其写入配置文件中&#xff1b;现在我们来一个新的需求说是要改变重写一个show()方法 show()2,那么如何在不修改源码的情况下进行修改&#xff0c;这时我们通过反射就可以完成 2:过程 student类&#xf…

.NET 5.0 RC1 发布,离正式版发布仅剩两个版本,与 netty 相比更具竞争力

原文&#xff1a;http://dwz.win/Qf8作者&#xff1a;Richard翻译&#xff1a;精致码农-王亮说明&#xff1a;1. 本译文并不是完全逐句翻译的&#xff0c;存在部分语句我实在不知道如何翻译或组织就根据个人理解用自己的话表述了。2. 本文有不少超链接&#xff0c;由于微信公众…

一个例子带你搞懂python作用域中的global、nonlocal和local

在编程中&#xff0c;只要接触过函数的&#xff0c;我相信都理解什么是全局变量和局部变量&#xff0c;概念比较简单&#xff0c;这里就不做解释了。在python中&#xff0c;用global语句就能将变量定义为全局变量&#xff0c;但是最近又发现有个nonlocal&#xff0c;一时搞不太…

初识ABP vNext(10):ABP设置管理

点击上方蓝字"小黑在哪里"关注我吧定义设置使用设置前言上一篇介绍了ABP模块化开发的基本步骤&#xff0c;完成了一个简单的文件上传功能。通常的模块都有一些自己的配置信息&#xff0c;比如上篇讲到的FileOptions类&#xff0c;其中配置了文件的上传目录&#xff0…

类加载机制(整个过程详解)

一:背景 类加载机制是在我们的真个java的运行阶段中的其中一个阶段。 二:什么是快乐星球(类加载机制) 我们编写的 Java 文件都是以.java 为后缀的文件&#xff0c;编译器会将我们编写的.java 的文件编译成.class 文件&#xff0c;简单来说类加载机制就是jvm从文件系统将一系…

leetcode860. 柠檬水找零

一:论语 这里的小不忍指的是一方面我们受到挫折而控制不住自己而大发脾气&#xff0c;还有一方面指的是我们的过于优柔寡断&#xff0c;对于自己或者他人的过失&#xff0c;不忍心加以责罚。 二:题目 三:上码 class Solution { public:bool lemonadeChange(vector<int&g…

跟我一起学.NetCore之Asp.NetCore启动流程浅析

前言一个Asp.NetCore项目&#xff0c;知道大概的启动流程是有必要的&#xff0c;比如后续遇见配置信息覆盖等相关问题时也大概知道是什么原因&#xff0c;了解原因之后&#xff0c;再去搜索引擎找答案&#xff0c;否则目标不明确&#xff0c;茫茫人海怎么会一下找到自己想要的&…

leetcode406. 根据身高重建队列

一&#xff1a;你不一定逆风翻盘&#xff0c;但请一定向阳而生 二&#xff1a;题目 三&#xff1a;上码 class Solution { public:/**解析题意:这个给出的people的数组中,我们需要根据其元素people[i] [hi,ki];然后根据其ki来表示大于hi身高的人的个数&#xff0c;来进行排序…

.NET Core 下使用 RabbitMQ

介绍RabbitMQ是一个开源的,基于AMQP(Advanced Message Queuing Protocol)协议的完整,可复用的企业级消息队列(Message Queue 一种应用程序与应用程序之间的一种通信方法)系统,RabbitMQ可以实现点对点,发布订阅等消息处理模式官网&#xff1a;https://www.rabbitmq.com/dotnet.h…

leetcode452. 用最少数量的箭引爆气球

一:论语 少些自我感动&#xff0c;多谢反思&#xff0c;时刻警惕自己是否在假装很努力&#xff0c;自己懂不懂 自己会不会 自己想要什么 只有自己 最清楚 二&#xff1a;题目 三:上码 class Solution { public:/**思路:1.这道题类似无重叠空间,我们先按每个气球的右边界升序…

leetcode435. 无重叠区间

一&#xff1a;论语 道不同 不相为谋 我们没有理由拿着自己的评判标准 去看待别人所经历的事情&#xff0c;重来就没有真正的感同身受&#xff0c;我们能做的就是尊重他人的看法 &#xff0c;保留自己的态度。 二&#xff1a;题目 三:上码 class Solution { public:/**思路:…

Swagger扩展为你添油加气

关注架构师高级俱乐部开启架构之路不定期福利发放哦~Leon读完需要4分钟速读仅需 2 分钟介绍一款Swagger扩展日常接口开发中都需要用到Swagger来生成接口文档并用 Swagger 自带支持的模拟请求进行测试&#xff0c;但是需要支持认证或者上传文件等操作需要自行去按接口进行开发才…

leetcode763. 划分字母区间

一&#xff1a;论语 保留自己的态度&#xff0c;尊重别人的看法&#xff0c;不强迫别人按照自己的意愿做事。 二:题目 三:上码 class Solution { public:vector<int> partitionLabels(string s) {/**思路:1.在这里我们选取的数据结构是map容器,我们只要下记录每个字母…

跟我一起学.NetCore之依赖注入

前言现阶段而言&#xff0c;依赖注入相关组件如果不会用一两个&#xff0c;感觉在Code的世界里肯定是落伍了&#xff0c;最起码得有工厂模式的思想&#xff0c;知道这样做的好处&#xff1b;提及到依赖注入&#xff0c;通常会关联出两个概念&#xff1a;Ioc(控制反转)和DI(依赖…

跟我一起学.NetCore之依赖注入作用域和对象释放

前言上一小节简单阐述了依赖注入及Asp.NetCore中自带依赖注入组件的常规用法&#xff0c;其中提到容器管控了自己创建对象的生命周期&#xff0c;包含了三种生命周期&#xff1a;Singleton、Scoped、Transient&#xff0c; 对于Singleton、Transient相对于Scoped来说比较好理解…

leetcode738. 单调递增的数字

一:芭比Q了 又掉一个粉 啊呜呜呜呜呜 如果作为一个领导者来说&#xff0c;首先就是要以身作则&#xff0c;自己都做不到 &#xff0c;那就没什么威信去要求手下人按照要求去做 二:题目 三:上码 class Solution { public:int monotoneIncreasingDigits(int n) {/**思路:1.这…

大揭秘| 我司项目组Gitlab Flow DevOps流程

长话短说&#xff0c;本文全景呈现我司项目组gitlab flow && devopsGit Flow定义了一个项目发布的分支模型&#xff0c;为管理具有预定发布周期的大型项目提供了一个健壮的框架。DevOps 强调的是团队通过自动化的工具协作和高效地沟通来完成软件的生命周期管理&#xf…

leetcode714.买卖股票的

一:题目 二&#xff1a;上码 class Solution { public:int maxProfit(vector<int>& prices, int fee) {/**思路:*/int ans 0;int minPrice prices[0];//最低时买入for(int i 1; i < prices.size(); i) {//低价买入minPrice min(minPrice,prices[i]);if(price…