git初尝
跨考进科软,要做一个真正的码农了!
怎么能不会用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初尝的更多相关文章
- git初体验(三)git分支
分支的理念就是分身,就像孙悟空拔出猴毛变出很多跟自己一模一样的猴子,然后每个猴子做自己的事情互不干涉,等到所有猴子做完之后,猴子集合来合并劳动成果,然后悟空就把那些猴子猴孙门统统收回了. 你创建了一个 ...
- 软工实践练习-Git初接触
第一次听到Git,有点不知所云,听了实践课老师的讲解,才明白了Git作为最先进的分布式版本控制系统的重要性. 至于Git的安装和使用仍旧是自己摸索着去完成了,当然在这过程中也是遇到了很多的问题. 接下 ...
- 初尝Windows 下批处理编程
本文叫“ 初尝Windows 下批处理编程”是为了延续上一篇“初尝 Perl”,其实对于博主而言批处理以及批处理编程早就接触过了. 本文包括以下内容 1.什么是批处理 2.常用批处理命令 3.简介批处 ...
- 初尝 Perl
本文将阐述以下几方面内容: 1.什么是Perl 2.Perl有什么用 3.Windows 下的Perl环境搭建 4.Perl 版Hello World 5.Perl 语法梗概 6.一些参考资料 什么是 ...
- seajs初尝 加载jquery返回null解决学习日志含示例下载
原文地址:http://www.tuicool.com/articles/bmuaEb 如需demo示例,请点击下方链接下载: http://yunpan.cn/cVEybKs8nV7CF 提取码 ...
- .NET领域驱动设计—初尝(三:穿过迷雾走向光明)
开篇介绍 在开始这篇富有某种奇妙感觉的文章之旅时我们先短暂的讨论一下关于软件开发方法论的简要: 纵观软件开发方法论,从瀑布模型.螺旋模型.RUP(统一软件开发过程).XP(极限编程).Agile(敏捷 ...
- Git初入
Git记录 使用git 也有一段时间了, git的入门级了解也就不再多说, 但平常使用中, 仍然会遇到很多问题, 在此记录一二. 在查资料的过程中, 发现了两个比较好的资料: 特别是第二个, 相当详细 ...
- 初尝微信小程序2-Swiper组件、导航栏标题配置
swiper 滑块视图容器. 很多网页的首页都会有一个滚动的图片模块,比如天猫超市首页,滚动着很多优惠活动的图片,用来介绍优惠内容,以及供用户点击快速跳转到相应页面. Swiper不仅可以滚动图片,也 ...
- 分布式设计《初尝memcached》
之前听说过高性能的分布式缓存开源工具,但一直没有真正接触过,如今接触的产品中实用到过分布式缓存.所以决定一探到底.memcached是一个优秀的开源的分布式缓存工具.也是眼下比較火热的分布 ...
随机推荐
- 听说高手都用记事本写C语言代码?那你知道怎么编译运行吗?
坊间传闻高手都喜欢用记事本写代码,那么问题来了,我们以C语言为例,如何用记事本编译运行呢?其实最简单的方式就是安装GCC编译器,在记事本编写C语言程序,然后再在命令行用GCC编译运行,下面我简单介绍一 ...
- 【jvm】MinorGC和FullGC
新生代GC(Minor GC)指发生在新生代的垃圾收集动作,因为java对象大多都具备朝生夕灭的特性,所以Minor GC非常频繁,一般回收速度也比较快. 老年代GC(MajorGC/Full GC) ...
- 课时四:Action操作
参考文档 瑞泰信息技术有限公司 微软MVP(15-18)罗勇 语义说明 核心名词 FetchXML:是基于Xml的查询语言,可以把它简单理解成SQL语句,通过它可以查询Dynamics 365 C ...
- 删除list列表中的某一个元素的多种方法
当我们在处理业务的时候,很多情况下数据都要进行一层层的过滤,最近需要给一个列表中去除不符合条件的元素, 本来觉着挺简单的,Google了下发现很多方法都是旧方法,根本不符合我的需求. 于是参考着网上的 ...
- 死磕以太坊源码分析之Fetcher同步
死磕以太坊源码分析之Fetcher同步 Fetcher 功能概述 区块数据同步分为被动同步和主动同步: 被动同步是指本地节点收到其他节点的一些广播的消息,然后请求区块信息. 主动同步是指节点主动向其他 ...
- oracle 流程控制句式
--for loop declare val number(10):=0; begin for val in 0..10 loop dbms_output.put_line('val='||val); ...
- PyQt转换显示Python-OpenCV图像实现图形化界面的视频播放
☞ ░ 前往老猿Python博文目录 ░ 一.引言 在Python-OpenCV中显示图像时调用的是一个单独的窗口,有时我们需要将这些图像显示在PyQt的图形化界面上,这样就可以将整个图像显示与PyQ ...
- 第4章 基础知识进阶 第4.1节 Python基础概念之迭代、可迭代对象、迭代器
第四章 基础知识进阶第十七节 迭代.可迭代对象.迭代器 一. 引言 本来计划讲完元组和字典后就讲列表解析和字典解析,但要理解列表解析和字典解析,就需要掌握Python的高级的类型迭代器,因此本节 ...
- PyQt(Python+Qt)学习随笔:QListView的gridSize属性
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QListView的gridSize属性用于控制视图中数据项排列所在网格的大小,gridSize默认 ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的geometry几何属性
geometry属性保存部件相对于其父级对象的位置和大小,Qt实际上是以一个长方形来表示部件的位置和大小的,包括左上角的坐标位置.长度和宽带. 当部件的geometry调整时,部件如果可见将立即接收m ...