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

怎么能不会用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. 自动化运维工具之Puppet基础入门

    一.简介 puppet是什么?它能做什么? puppet是一个IT基础设施自动化运维工具,它能够帮助系统管理员管理基础设施的整个生命周期:比如,安装服务,提供配置文件,启动服务等等一系列操作:基于pu ...

  2. cheat.sh在手,天下我有

    前言 作为程序员需要了解的东西有很多,日常编码和写脚本脱离不开各式语言与 Linux 命令.为了记住一些杂乱的或不被经常使用的知识点,我们迫切需要一个"小抄"/备忘录,小抄内容多了 ...

  3. LinuxKernel(一)

    首先,回顾一下基础的宏操作: C语言宏 #与## #的作用是字符串化:在一个宏中的参数前面使用一个#,预处理器会把这个参数转换为一个字符数组 #define ERROR_LOG(info) fprin ...

  4. Centos7.2 安装docker、mysql和redis

    环境信息 Docker是什么? Docker就是一个平台,这个平台具备开发.发布和运行应用程序的功能,在项目生命周期中,我们可以运用Docker实现快速交付.测试和部署.Docker通过将运行环境打包 ...

  5. 20200427_ls_正在读取目录_输入/输出错误

    环境: 在Centos7.2上挂载了一个2T的移动硬盘, 使用vim 在移动硬盘中编辑 .sh文件, wq的时候提示出错, 然后清空的文件, 可以正常wq出来 [root@localhost yido ...

  6. PyQt(Python+Qt)学习随笔:QListView的layoutMode属性和batchSize属性

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 batchSize属性 该属性是在layoutMode属性设置为Batched时,用于控制每个批量的 ...

  7. java课堂作业--异常处理

    一. 运行结果: 二. 结果: ArrayIndexOutOfBoundsException/内层try-catch 发生ArithmeticException 三. 结果: ArrayIndexOu ...

  8. Java数据结构(十五)—— 多路查找树

    多路查找树 二叉树和B树 二叉树的问题分析 二叉树操作效率高 二叉树需要加载到内存,若二叉树的节点多存在如下问题: 问题1:构建二叉树时,需多次进行I/O操作,对与速度有影响 问题2:节点海量造成二叉 ...

  9. [BJDCTF 2nd]old-hack && [GXYCTF2019]禁止套娃

    [BJDCTF 2nd]old-hack 页面很有意思 同时也告诉了我们是THINKPHP5,我们只需要寻找THINKPHP5的漏洞就可以了. https://www.codercto.com/a/5 ...

  10. 在浏览器中输入URL后,执行的全部过程。会用到哪些协议?(一次完整的HTTP请求过程)

    在浏览器中输入URL后,执行的全部过程.会用到哪些协议?(一次完整的HTTP请求过程) 整个流程如下: 域名解析 为了将消息从你的PC上传到服务器上,需要用到IP协议.ARP协议和OSPF协议. 发起 ...