文章目录
- 1.前言
- 2.工作区,暂存区,版本库简介
- 3.Git的常用命令
- 4.版本回退
- 5.撤销修改
- 6.删除文件
- 7.总结
1.前言
在学习Git命令之前,需要先了解工作区,暂存区和版本库这三个概念
2.工作区,暂存区,版本库简介
在使用Git进行版本控制时,有三个重要的概念:工作区、暂存区和版本库
- 工作区(Working Directory):工作区是指项目所在的目录,是进行代码编写和修改的地方。在工作区中,可以添加、修改或删除文件。
- 暂存区(Staging Area):暂存区是Git中的一个中间区域,用于临时存放我们修改过的文件。在我们对工作区中的文件进行修改后,需要将修改的文件添加到暂存区,以便在提交时将暂存区的内容添加到版本库中。
- 版本库(Repository):版本库是Git中的核心部分,它保存了项目的所有历史记录和文件状态。版本库分为本地版本库和远程版本库两部分。本地版本库保存在本地计算机上,包括暂存区和分支等信息;远程版本库保存在远程服务器上,用于多人协作开发和代码的备份。
在Git的工作流程中,我们对工作区的文件进行修改后,将修改的文件添加到暂存区,再将暂存区的内容提交到版本库中,形成一个新的版本。这样可以方便地管理代码的修改历史和进行代码的版本控制。
Git的工作流程通常如下:
- 在工作区修改(添加、修改、删除)文件。
- 将修改的文件添加到暂存区,使用
git add
命令。 - 将暂存区的文件提交到版本库,使用
git commit
命令。 - 将本地提交推送到远程仓库,使用
git push
命令
在使用git add提交修改的文件到暂存区时有两种方式:
# 添加指定文件(可以一次添加多个)到git中
git add [文件1] [文件2]...
# 添加当前所有文件到git中
git add .
而在git commit
命令时,可以描述当前文件的修改信息
git commit -m "文件描述信息"
3.Git的常用命令
除了上述两个命令,还有一个git log
命令,它可以查看每次文件的提交信息
git log --pretty=oneline
Git 追踪管理的其实是修改操作,而不是文件
git status
这个命令用于查看Git仓库当前状态,他会列出从上次提交后暂存区中修改的文件
git diff [文件]
这个命令用于查看暂存区和工作区之间的文件差异
4.版本回退
对于文件,我们可能会修改很多次.如果对当前修改的效果不满意,就可以使用版本回退,回退到以前的版本,回到之前的版本后,还可以回到最新版本
命令如下:
git reset [--soft / --mixed / --hard] [HEAD]
版本回退本质上回退的是版本库的内容
如果想要工作区和暂存区的内容也会退,执行git reset
可以选择不同的选项
选项 | 工作区 | 暂存区 | 版本库 |
---|---|---|---|
–soft | 不回退 | 不回退 | 回退 |
–mixed(默认选项) | 不回退 | 回退 | 回退 |
–hard | 回退 | 回退 | 回退 |
注: --hard选项要慎用!
这个 HEAD 就是想要回退的版本
可以使用git log --pretty=oneline
命令进行查看
我这里提交了两次,就会显示两次的提交信息
前面一串数字+英文的组合 是版本,而后面的add1和add2是文件的描述信息
如果回退后想要回到会退前的版本,也可以使用此命令回到最新的版本.因为打印过版本信息, 把 HEAD 改成最新的即可
5.撤销修改
撤销修改操作分为三种情况: 1. 只撤销工作区文件修改的操作 2. 撤销工作区和暂存区文件修改的操作 3. 撤销在工作区,暂存区和版本库都修改的操作
如果只撤销工作区文件修改的操作
- 手动进行撤销,不推荐,容易出错
- 使用 git checkout 命令,如下:
git checkout -- [文件]
如果撤销工作区和暂存区文件修改的操作,可以使用版本回退命令
git reset --hard [HEAD]
--hard
选项可以回退工作区,暂存区和版本库的内容
如果使用--mixed
选项也是可以的,这个选项可以回退暂存区和版本库的内容.此时就只剩下工作区的内容需要撤销修改了. 就是上述如果只撤销工作区文件修改的操作的场景.
如果撤销在工作区,暂存区和版本库都修改的操作
- 注意这里有个前提条件,是在commit操作之后,没有进行push操作将文件上推送到远程仓库
撤销的主要目的,也是为了不影响远程仓库中的代码
有了上述的前提条件后,可以使用版本回退进行撤销修改
git reset --hard [HEAD]
# HEAD 代表当前版本
# HEAD^ 表示上一个版本
6.删除文件
这里的删除文件指的是删除版本库中的文件
大致可以分为三步:
- 首先使用
rm
命令把工作区中的文件进行删除 - 使用
git add
命令将刚才删除的文件提交到暂存库 - 使用
git commit
命令提交到版本库即可
可以使用git rm
命令简化操作,直接将文件从暂存区中删除,后续直接进行git commit
命令即可
7.总结
以上就是一些Git的常用命令和使用场景, 要根据当前的场景和需求使用合适的命令进行执行