跨考进科软,要做一个真正的码农了!

怎么能不会用git呢?

感谢孟宁老师带领我们入门。这是梦宁老师的文章:https://mp.weixin.qq.com/s/Km5KuXPETvG0wCGHrvj9Vg 。这篇git基本功能的使用是根据这篇文章来的。

文章还绍了git在vscode中的用法,所以要先安装vscode。然后安装git。按ctrl+alt+T打开终端,输入sudo apt install git,输入密码,然后输入y确定安装,就行了,很简单且方便。

场景一

然后打开一个vscode的项目,在该项目根目录下打开终端,输入git init,这样就初始化了一个本地版本库。

此时这个项目文件夹下生成了一个.git文件,但是默认是看不到的,因为诗歌隐藏文件。在终端切换到该目录用ls -a能看到。可以cd进去看看里面的目录结构。

回到vscode,按ctrl+shift+G后可以看到这个项目下的文件,如果是正在加载文件的样子,就重启vscode,然后就能在source control中看到这个项目下的所有文件。

可以看到文件的后面都有一个绿色的U,这表示没有将该文件添加到版本库进行跟踪。

点击加号,或者在当前目录下的终端里用git指令 git add README.md,会发生这样的变化:

这说明将README.md变成了一个要提交的变更。在终端输入git status可以看见这个说明。

当把鼠标移到README.md上,可以看到本来加号的位置变成了减号,功能显而易见。

然后点上方的钩号,可以进行提交。提交时要先设置用户名和邮箱。

提交之后如果对README.md进行更改,就会在Changes下又出现README.md,不过原来的U变成了M,就像上图的main.py旁边的标志一样。

但是要发挥git的强大之处,还是要多多使用命令行。下面是一些常用的命令及功能:

git status

git add FILE

git commit -m "Write down something"

git log(之前提交过一次,所以有两次)

git reset --hard HEAD^

像是退回到了第一次提交之处。

git reset --hard commit_id头几个字符

又回到了第二次提交处。

git reflog

记录了一些reset的操作?没有太明白。

场景二

git clone URL可以从远程版本库克隆到本地版本库。

在github上随便找一个项目,找到它的URL,然后在终端中输入:git clone https://github.com/TheAlgorithms/Python.git,就能下载下来。

git remote和git remote -v

场景三

首先在github上创建一个repo,然后在本地打开终端,使用git clone URL的指令将这个repo clone到本地。

cd进这个项目根目录,打开终端,输入git branch,可以发现现在只有一个main分支

创建一个分支 git checkout -b mybranch

可以看到创建了一个新的分支并且切换到了这个分支。

git add FILE 并且git commit -m "text"

场景四

git rebase -i HEAD^^后删掉第二行,发现log的前两行都不见了,HEAD重新指向了原来HEAD的两个之前的位置。

2020-10-02 21:28:39

git初尝的更多相关文章

  1. git初体验(三)git分支

    分支的理念就是分身,就像孙悟空拔出猴毛变出很多跟自己一模一样的猴子,然后每个猴子做自己的事情互不干涉,等到所有猴子做完之后,猴子集合来合并劳动成果,然后悟空就把那些猴子猴孙门统统收回了. 你创建了一个 ...

  2. 软工实践练习-Git初接触

    第一次听到Git,有点不知所云,听了实践课老师的讲解,才明白了Git作为最先进的分布式版本控制系统的重要性. 至于Git的安装和使用仍旧是自己摸索着去完成了,当然在这过程中也是遇到了很多的问题. 接下 ...

  3. 初尝Windows 下批处理编程

    本文叫“ 初尝Windows 下批处理编程”是为了延续上一篇“初尝 Perl”,其实对于博主而言批处理以及批处理编程早就接触过了. 本文包括以下内容 1.什么是批处理 2.常用批处理命令 3.简介批处 ...

  4. 初尝 Perl

    本文将阐述以下几方面内容: 1.什么是Perl 2.Perl有什么用 3.Windows 下的Perl环境搭建 4.Perl 版Hello World 5.Perl 语法梗概 6.一些参考资料 什么是 ...

  5. seajs初尝 加载jquery返回null解决学习日志含示例下载

    原文地址:http://www.tuicool.com/articles/bmuaEb 如需demo示例,请点击下方链接下载: http://yunpan.cn/cVEybKs8nV7CF  提取码 ...

  6. .NET领域驱动设计—初尝(三:穿过迷雾走向光明)

    开篇介绍 在开始这篇富有某种奇妙感觉的文章之旅时我们先短暂的讨论一下关于软件开发方法论的简要: 纵观软件开发方法论,从瀑布模型.螺旋模型.RUP(统一软件开发过程).XP(极限编程).Agile(敏捷 ...

  7. Git初入

    Git记录 使用git 也有一段时间了, git的入门级了解也就不再多说, 但平常使用中, 仍然会遇到很多问题, 在此记录一二. 在查资料的过程中, 发现了两个比较好的资料: 特别是第二个, 相当详细 ...

  8. 初尝微信小程序2-Swiper组件、导航栏标题配置

    swiper 滑块视图容器. 很多网页的首页都会有一个滚动的图片模块,比如天猫超市首页,滚动着很多优惠活动的图片,用来介绍优惠内容,以及供用户点击快速跳转到相应页面. Swiper不仅可以滚动图片,也 ...

  9. 分布式设计《初尝memcached》

          之前听说过高性能的分布式缓存开源工具,但一直没有真正接触过,如今接触的产品中实用到过分布式缓存.所以决定一探到底.memcached是一个优秀的开源的分布式缓存工具.也是眼下比較火热的分布 ...

随机推荐

  1. 【jvm】MinorGC和FullGC

    新生代GC(Minor GC)指发生在新生代的垃圾收集动作,因为java对象大多都具备朝生夕灭的特性,所以Minor GC非常频繁,一般回收速度也比较快. 老年代GC(MajorGC/Full GC) ...

  2. fastjson JSONObject简单使用

    工作中用的蛮多的最近整理下,概括地说 通过这个工具可以让一个json在json串,JSONObject,java对象之间进行转化 首先我们先写2个bean来构成一个比较复杂的json串: public ...

  3. On-Demand Learning for Deep Image Restoration

    摘要 论文来源:ICCV 2017 之前的缺点:目前的机器学习方法只专注于在特定困难程度的图像损坏(如一定程度的噪声或模糊)情况下进行良好的训练模型. 改进的方法:提出了一种基于深度卷积神经网络的按需 ...

  4. 浅谈JAVA servlet

    1.servlet是什么? servlet的本质是接口,接口就是一种规范.我们来看一下servlet接口中都有哪些函数: 图片来源:https://www.cnblogs.com/whgk/p/639 ...

  5. 日志聚合工具之 Loki

    本文使用的 Loki 和 Promtail 版本为 1.6.1,Grafana 版本为 7.2.0:部署在 Linux 服务器 Loki 负责日志的存储和查询:Promtail 负责日志的采集并推送给 ...

  6. 在之前的EventHandler中的参数类型必须继承EventArgs,现在已经去掉这个约束了。

    分别是vs2008和vs2012的对比,可以看到2012已经去掉了约束条件.

  7. 第8.16节 Python重写自定义类的__str__方法

    一. 引言 上节结合案例介绍了重写__repr__方法的关注点,重写__repr__方法的要点是要准确的输出开发人员关注的信息,并便于开发人员使用相关信息.而__str__方法是为最终用户返回类的相关 ...

  8. Python正则表达式re.match(r"(..)+", "a1b2c3")匹配结果为什么是”c3”?

    在才开始学习正则表达式处理时,老猿对正则表达式:re.match(r"(-)+", "a1b2c3") 返回的匹配结果为"c3"没有理解,学 ...

  9. React跳转路由传参3种方法和区别

    1.params传参 路由表配置:参数地址栏显示 路由页面:<Route path='/demo/:id' component={Demo}></Route> //配置 /:i ...

  10. SQL注入WAF绕过姿势

    (1)大小写绕过 此类绕过不经常使用,但是用的时候也不能忘了它,他原理是基于SQL语句不分大小写的,但过滤只过滤其中一种. 这里有道题 (2)替换关键字 这种情况下大小写转化无法绕过而且正则表达式会替 ...