英文成品网站模板下载,wordpress分站,网站流量超标,在线做名片做海报网站一、概念 1、四个工作区域
Git本地有四个工作区域#xff1a;工作目录#xff08;Working Directory#xff09;、暂存区(Stage/Index)、资源库(Repository或Git Directory)、git仓库(Remote Directory)。文件在这四个区域之间的转换关系如下#xff1a; Workspace#x…一、概念 1、四个工作区域
Git本地有四个工作区域工作目录Working Directory、暂存区(Stage/Index)、资源库(Repository或Git Directory)、git仓库(Remote Directory)。文件在这四个区域之间的转换关系如下 Workspace 工作区就是你平时存放项目代码的地方
Index / Stage 暂存区用于临时存放你的改动事实上它只是一个文件保存即将提交到文件列表信息 Repository 仓库区或版本库就是安全存放数据的位置这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本 Remote 远程仓库托管代码的服务器可以简单的认为是你项目组中的一台电脑用于远程数据交换 2、工作流程
git的工作流程一般是这样的
、在工作目录中添加、修改文件
、将需要进行版本管理的文件放入暂存区域
、将暂存区域的文件提交到git仓库。
因此git管理的文件有三种状态已修改modified,已暂存staged,已提交(committed) 3、文件的四种状态
版本控制就是对文件的版本控制要对文件进行修改、提交等操作首先要知道文件当前在什么状态不然可能会提交了现在还不想提交的文件或者要提交的文件没提交上。
GIT不关心文件两个版本之间的具体差别而是关心文件的整体是否有改变若文件被改变在添加提交时就生成文件新版本的快照而判断文件整体是否改变的方法就是用
SHA-1算法计算文件的校验和。 Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged. Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存,文件状态为Modified Unmodify: 文件已经入(commit)库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件 Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过,返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改 下面的图很好的解释了这四种状态的转变 新建文件---Untracked
使用add命令将新建的文件加入到暂存区---Staged
使用commit命令将暂存区的文件提交到本地仓库---Unmodified
如果对Unmodified状态的文件进行修改--- modified
如果对Unmodified状态的文件进行remove操作---Untracked 二、四个区域常用命令 1、新建代码库 # 在当前目录新建一个Git代码库git init
# 新建一个目录将其初始化为Git代码库
git init [project-name]
# 下载一个项目和它的整个代码历史
git clone [url] 2、查看文件状态
#查看指定文件状态
git status [filename]
#查看所有文件状态
git status 3、工作区--暂存区 # 添加指定文件到暂存区
git add [file1] [file2] ...
# 添加指定目录到暂存区包括子目录
git add [dir]
# 添加当前目录的所有文件到暂存区
git add .
#当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用⚠️
git rm file_path
#当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 这个时候直接push那边这个文件就没有如果push之前重新add那么还是会有。
git rm --cached file_path
#直接加文件名 从暂存区将文件恢复到工作区如果工作区已经有该文件则会选择覆盖
#加了【分支名】 文件名 则表示从分支名为所写的分支名中拉取文件 并覆盖工作区里的文件
git checkout 4、工作区--资源库版本库 #将暂存区--资源库版本库
git commit -m 该次提交说明
#如果出现:将不必要的文件commit 或者 上次提交觉得是错的 或者 不想改变暂存区内容只是想调整提交的信息
#移除不必要的添加到暂存区的文件
git reset HEAD 文件名
#去掉上一次的提交会直接变成add之前状态
git reset HEAD^
#去掉上一次的提交变成add之后commit之前状态
git reset --soft HEAD^ 5、远程操作
# 取回远程仓库的变化并与本地分支合并
git pull
# 上传本地指定分支到远程仓库
git push 6、其它常用命令 # 显示当前的Git配置
git config --list
# 编辑Git配置文件
git config -e [--global]
#初次commit之前需要配置用户邮箱及用户名使用以下命令
git config --global user.email youexample.com
git config --global user.name Your Name
#调出Git的帮助文档
git --help
#查看某个具体命令的帮助文档
git 命令 --help
#查看git的版本
git --version 参考
一个小时学会Git