IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git备忘录 -> 正文阅读

[开发工具]Git备忘录

目录

理论部分

操作部分

基本命令

进阶命令

远程仓库


理论部分

集中式和分布式的本质区别是,用户本地是否有完整的版本控制历史,如果中央服务器宕机(没错,Git也有中央服务器,只不过不是必不可少),还能否回滚。

所有的版本控制系统都只能跟踪文本文件的变动,比如第x行多了一个y,但是对于二进制文件,并不知道具体变动,比如一张图片压缩以后大小减了,怎么变的就不清楚了。

操作部分

基本命令

要掌握工作区状态,可以用命令

git status

如果git status显示说有文件修改过,可以用命令

git diff filename

查看具体修改了啥。

想要查看修改历史,用命令

git log

发现输出的内容是按照时间倒序排列的

如果想要输出更简洁,可以加上参数

--pretty=oneline

前面的长长的黄色十六进制序列是commit id

如果想要回滚到上一个版本,也就是5846开头的

可以用命令

git reset --hard HEAD~1

?HEAD表示当前版本,波浪线后面的数字表示上溯到之前的第多少个版本,是可变的

?此时再查看版本历史

会发现最新的一个版本不见了,但是想要回去还是有办法,复制下commit id 的前几位,4b2d6?

输入命令

git reset --hard 4b2d6

?

但是刚刚的commit id是由于命令行没关,直接复制得到的,如果已经关了,可以用查看命令历史的命令(git log是查看提交历史的命令)?

git reflog

?

进阶命令

  • 暂存区(stage/index)是Git相比于其他版本控制系统的一个特色,上文中提到的add命令是将工作区的内容提交到暂存区,必须指定是哪个文件,因为工作区可能修改了不知一个文件,还增加了文件;上文提到的commit命令是把暂存区的所有文件提交到分支,这可以不指定内容,因为暂存区就一个。所以往往是多个add命令后跟一个commit命令。

撤销修改使用命令

git checkout -- filename

此时这个文件可能有两种状态:(1)上一次commit之后的修改 (2)上一次add之后的修改

如果是前者,就恢复到分支的HEAD版本;如果是后者,就恢复到暂存区里的状态。

上面说的是用分支的HEAD版本暂存区恢复工作区,下面说用分支的HEAD版本恢复暂存区

git reset HEAD readme.txt

注意观察使用git reset HEAD readme.txt 前后的变化,前一个是提示暂存区有变化,即将提交到分支;后一个是提示工作区有变化,暂存区没有。

此时可以接着用git checkout -- readme.txt ,让恢复了的暂存区再来恢复工作区。

此时是2022年4月27日,距离廖雪峰老师写下Git教程不知过了几年,于是命令有了新的写法,如果要恢复工作区,也可以是

git restore readme.txt

如果要恢复暂存区,也可以是

git restore --staged readme.txt

远程仓库

已有本地仓库,再创建好远程仓库,进入本地仓库输入以下命令将二者进行关联

git remote add origin git@github.com:github-username/learngit.git

其中origin是远程库的名字

然后输入以下指令将本地仓库的master分支关联到远程的master分支,并将本地仓库的master分支内容推到远程仓库

git branch -M master
git push -u origin master

完成第二个指令的前提是github认证了本地的账号(搜索git SSH 密钥配置)

注意,参数 -u 只有第一次推送本地分支到远程分支才需要,以后不用。

但是上面的太过于繁琐,一般是在Github图形化界面中先创建远程仓库,再将其克隆到本地。创建好远程仓库以后,找到

?复制下来,在git cmd 中进入想要的位置,输入

git clone git@github.com:github-username/gitskills.git

会发现.git文件夹和readme已经在了

?

注:以上内容是跟着廖雪峰老师博客学git使用的笔记,包括“git简介”“时光机穿梭”“远程仓库”三个部分,详见廖雪峰官网-Git教程

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-29 12:19:59  更:2022-04-29 12:20:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 2:04:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码