一、版本提交:
(1)git add 文件名
(2)git commit -m "版本提交信息"
注:git分两个区:工作区+版本库
在电脑中看到的文件夹就是工作区
有一个隐藏的.git文件夹,它就是版本库
add命令操作,就是把工作区中的文件或者文件的修改,添加到暂存区中。举个例子,就像,我们网上买东西,不断地把商品(文件)添加(add)到购物车(暂存库)一样。
commit命令操作,就是把暂存区中的文件和文件修改全部提交到版本库中更新,并将暂存库清空。举个例子,就是清空购物车结账。
二、版本回退:
1.向之前的版本回退:
1.1方法1:使用HEAD
Git必须知道当前的版本是哪个版本。在Git中,使用HEAD表示当前版本,上一个版本是HEAD^,上上个版本是HEAD^^,当前往上100个版本写成HEAD~100
例:git reset --hard HEAD^^
注:
HEAD是一个指向当前版本的指针,HEAD指向哪个版本号,当前版本就定位在哪。
使用reset回退版本的时候,所做的就是,把HEAD指针进行变更,并且把工作区的内容进行更新。
1.2方法二:使用版本号进行版本回退
(1)git log 调取提交日志,查看版本号,选定要回退到的版本的版本号commit_id,图中,画红圈的就是commit_id
(2)回退到相应版本号版本:
git reset --hard commit_id
2.向之后的版本回退:
(1)使用git reflog,查看操作命令历史信息,出现如下信息:
红圈就是相应版本的commit_id,这样我们就得到了commit_id,然后再用git reset --hard commit_id回退即可。
三、撤销修改:
分4种情况:
1.只有工作区中的内容不想要
1.1工作区内容错了,不想要工作区内容了,暂存区中内容此时为空:
git checkout -- 文件名
此时,文件内容,回退和版本库内容一致。
注意:文件名和两个横杠--之间要有空格!!!
1.2工作区内容错了,不想要工作区内容了,暂存区内容此时不为空:
git checkout -- 文件名
此时,文件内容回退到和暂存区中内容一致。
2.工作区写的内容错了,并且已经被add到暂存区中,但是版本库中的内容是好的:
(1)git reset HEAD 文件名
将暂存区中的错误内容,搬到工作区,同时清空暂存区内容
(2)git checkout -- 文件名
使得工作区中的内容,回退到和版本库中内容一致
3.工作区写的内容错了,并且已经被commit到版本库中:
使用版本回退:
(1)git log 查看提交历史,确定要回到那个版本的版本号
(2)git reset --hard commit_id
四、删除文件:
1.手动删除文件或者使用命令行:rm 文件名
2.1如果是误删除操作,需要还原删除文件:
git checkout -- 文件名
结果就是从版本库,回复一个最新版本的文件
2.2确实需要删除:
git rm 文件名
git commit -m "message"
这样就从版本库中,也删除了该文件。