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常用操作备忘录

一、四个工作区域

在这里插入图片描述

Workspace: 工作区,就是你平时存放项目代码的地方

Index/Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息

Repository: 本地仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。
            其中HEAD指向最新放入仓库的版本

Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

备注:工作区时写好的代码经过“git add .” 后,即会进入暂存区。

二、工作流程

1、工作区:修改文件、新增文件处于这个区。
2、暂存区:执行git add后,将工作区的内容保存到暂存区
3、本地仓库区:执行git commit后,将暂存区的内容保存到仓库区
4、远程仓库:执行git push后,将本地仓库区的内容保存到服务器

三、文件的四种状态

在这里插入图片描述

Untracked:   未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.

Unmodify:   文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 
            如果它被修改, 而变为Modified.
            如果使用git rm移出版本库, 则成为Untracked文件

Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态,
           使用git checkout 则丢弃修改过, 
           返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改

Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 
        执行git reset HEAD filename取消暂存, 文件状态为Modified

下面的图解释了这四种状态的转变:
在这里插入图片描述
新建文件—>Untracked

使用add命令将新建的文件加入到暂存区—>Staged

使用commit命令将暂存区的文件提交到本地仓库—>Unmodified

如果对Unmodified状态的文件进行修改—> modified

如果对Unmodified状态的文件进行remove操作—>Untracked

四、常用git命令

一、基本环境

1.1、查看git版本
     git --version

1.2、查看仓库的远端地址
      git remote -v
     
1.3、查看所有文件状态
     git status

二、checkout

2.1、检出本地已经存在的分支
     git checkout [本地已存在的分支名]
     例如:git checkout release
     
2.2、基于指定分支(可以是远端分支)创建本地新分支,并立即切换过去
     git checkout -b [新分支名] [已存在的分支名]
 例如:git checkout -b master2 remotes/mega/master
 
2.3、清除本地没有git add的修改
 git checkout .

三、branch

3.1、显示本地所有分支名称
     git branch
     
3.2、显示本地和远端所有分支名称
     git branch -a
     
3.3、显示本地和远端所有分支名称,及各分支的最后提交
     git branch -av
     
3.4、基于本地当前节点,创建本地新分支
     git branch [本地新分支名]
     
3.5、删除本地分支
     git branch -d [本地分支名]
     
3.6、强制删除本地分支
     git branch -D [本地分支名]

四、pull

4.1、变基式拉取
     git pull --rebase

五、reset

5.1、可以指定退回某一次提交的版本,【工作区的修改、暂存区的内容、及由 reset 所导致的新的文件差异,都会被放进工作区】
     git reset [提交id]
     git reset --mixed [提交id]

5.2、可以指定退回某一次提交的版本,【保留工作区和暂存区,由 reset 所导致的新的文件差异会被放进暂存区】
     git reset --soft [提交id]

5.3、可以指定退回某一次提交的版本,【同时清空工作区和暂存区】
     git reset --hard [提交id]

六、stash

6.1、将本地未提交、但已add的修改 临时保存起来
     git stash save [暂存本地的名称]

6.2、查看本地的临时保存记录
 git stash list 
 
6.3、将本地的临时保存都提出来
     git stash pop

七、rm

7.1、删除暂存区或本地仓库中的文件,但不删除工作区里的文件(即add后的内容可以用下面的命令删除,但若重新add仍然会进暂存区)
     git rm --cached [文件路径]
     
7.2、删除暂存区或本地仓库中的文件夹,及其内部的所有内容,但不删除工作区
     git rm -r --cached [文件夹路径]
  开发工具 最新文章
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-01 00:17:48  更:2022-04-01 00:19:21 
 
开发: 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年11日历 -2024/11/26 5:25:23-

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