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

怎么能不会用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. 干货分享:盘点那些最常用的Linux命令,需熟记!

  2. 【刷题笔记】DP优化-斜率优化

    斜率优化,是一种利用斜率的优化(废话) 关于数论:咕咕咕 部分内容参考自学长 如果有这样的一个状态转移方程: \[f[i]=\min\limits_{j=L_j}^{R_j}\{f[j]+val(j, ...

  3. 团队 Gitee 实战训练

    这个课程属于 https://edu.cnblogs.com/campus/fzzcxy/2018SE2 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzzcxy ...

  4. Spring Boot 2 集成 Swagger

    本文测试代码使用 Spring Boot 2.1.6.RELEASE + Swagger 2.9.2 添加依赖 <dependency> <groupId>io.springf ...

  5. 学习PKI技术【理论+实战】

    1.预备知识 PKI(Public Key Infrastructure)定义 PKI:利用公钥理论和技术建立的提供网络信息安全服务的基础设施.为用户提供所需的密钥和证书管理,用户可以利用PKI平台提 ...

  6. java并发编程实战《七》安全性、活跃性以及性能问题

    安全性.活跃性以及性能问题 安全性问题 那什么是线程安全呢?其实本质上就是正确性,而正确性的含义就是程序按照我们期望的执行,不要让我们感到意外. 存在共享数据并且该数据会发生变化,通俗地讲就是有多个线 ...

  7. moviepy音视频剪辑:AudioClip帧处理时报TypeError: only size-1 arrays can be converted to Python scalar错

    ☞ ░ 前往老猿Python博文目录 ░ 一.环境 操作系统:win7 64位 moviepy:1.0.3 numpy:1.19.0 Python:3.7.2 二.应用代码及报错信息 程序代码 if ...

  8. Nessus破解没有Scan选项的解决办法

    如图,安装之后无Scan选项,流程按照吾爱破解上的文章:https://www.52pojie.cn/thread-1140341-1-1.html 解决办法为: 首先nessus.license在安 ...

  9. SQLMap使用指北

    简介 sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限.它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存 ...

  10. mysql 创建新用户、数据库、授权

    创建用户 1.登录mysql mysql -uroot -p 2.创建本地用户(2.3选其一) #use mysql;             //选择mysql数据库 #create user 'w ...