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基础(2):基本理论/项目搭建/文件操作 -> 正文阅读

[开发工具]Git基础(2):基本理论/项目搭建/文件操作

前言

 Git的理论非常重要和基础,学习git理论能够更加清晰的了解Git的工作步骤。

工作区域

在这里插入图片描述

Workspace :工作区,就是本地代码的存放地。
Index/Stage: 暂存区。用于临时存放你的改动,事实上它只是一个文件,保存即将提交的文件列表。
Reposity: 仓库(本地仓库), 就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中包HEAD指向最新存入仓库的版本。
Remote: 远程仓库,托管代码的服务器。

ref: refs/heads/master 指向master分支

Git的工作流程

  1. 在工作目录种添加,修改文件
  2. 将需要进行版本管理的文件放入暂存区
  3. 将暂存区的文件提交到git仓库
    因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

在这里插入图片描述

Git项目搭建

创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库。

创建全新仓库

  1. 创建全新的仓库,需要用GIT管理的项目根目录执行
#在当前目录新建一个Git代码库
git init
  1. 执行后可以看到,仅仅在项目目录下多出一个.git目录,古纳于版本等的所有信息都在这个目录里。

克隆远程仓库

  1. 另一种方式是克隆远程,由于是将远程服务器上的仓库完全镜像一份至本地
# 可控一个项目和它的整个代码历史(版本信息)
git clone [url]
  1. 去gitee 或者github上找链接

Git文件操作

文件的4种状态

版本控制就是对文件的版本控制,要对文件进行修改,提交等操作,首先要知道文件当前是什么状态,不然可能会提交了现在还不想要提交的文件,或者提交的文件没提交上。

  • Untracked:未跟踪。此文件在文件夹种,但并没有加入到git库,不参与版本控制。通过git add 状态可以变成staged
  • Unmodify: 文件已经入库,未修改,即版本库种的文件快照内容和文件夹中完全一致,这种类型的文件有两种去除,如果它被修改。
  • Modified: 文件已修改,仅仅是修改,并没有进行其它的操作。这个文件也有两个去处,通过git add 可进入暂存staged状态,使用git checkout 则丢失修改过,返回到unmodify 状态,这个git checkout 则从库中取出文件,覆盖当前修改!
  • Staged:暂存状态。执行git commit 则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Unmodify状态。执行git reset HEAD filename取消暂存,文件状态为Modifed

查看文件状态

上面说文件有4种状态,通过如下命令可以查看文件的状态

#查看指定文件状态
git status [filename]
#查看所有文件状态
git status

git add .     #添加到暂存区
git commit -m  "描述信息" #提交暂存区中为文件到本地仓库

忽略文件

有时候我们不想把某些文件纳入版本控制种,比如数据库文件,临时文件。
在住目录下建立.gitignore文件,此文件有一下规则

  1. 忽略文件种的空行或以#开头的行会被忽略
  2. 可以使用linux通配符。例如星号代表任意多个字符,问好代表一个字符,方括号[abc]代表可选字符范围,大括号({string1,string2,…})代表可选的字符串等。
  3. 如果名称的最前面有一个感叹号!,表示例外规则,将不被忽略
  4. 如果名称的最前面是一个路径分隔符,表示要忽略的文件在此目录下,而子目录中的文件不忽略。
  5. 如果名称的最后面是一个路径分割符,表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
#注释
*.txt      #忽略所有.txt结尾的文件
!lib.txt   #但是lib.txt除外
/temp      #仅忽略项目根目录下的TODO文件,不包含其它目录tep
build/     #忽略build/目录下的所有文件
doc/*.txt  #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

```bash
在这里插入代码片

  开发工具 最新文章
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-07 22:55:14  更:2022-04-07 22:56:40 
 
开发: 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 4:26:24-

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