文章目录
- 一、本地使用git
-
- (一)创建一个新的本地Git库
- (二)在本地仓库进行版本恢复
-
- [先执行 git log 查看项目提交历史](#先执行 git log 查看项目提交历史)
- [使用 git checkout 恢复版本](#使用 git checkout 恢复版本)
- 二、常用命令
-
-
- [1. 查看当前分支](#1. 查看当前分支)
- [2. 切换分支](#2. 切换分支)
- [3. git暂存缓冲区](#3. git暂存缓冲区)
-
- 三、使用过程中的问题总结
-
-
- [1. 在git仓库中再次对其中一个子文件夹执行了git init](#1. 在git仓库中再次对其中一个子文件夹执行了git init)
- [2. 撤回上次推送到服务器的提交](#2. 撤回上次推送到服务器的提交)
- [(1)git revert](#(1)git revert)
-
- [(2) git reset](#(2) git reset)
- [3. git推送失败:本地分支与远端分支存在分歧](#3. git推送失败:本地分支与远端分支存在分歧)
-
一、本地使用git
(一)创建一个新的本地Git库
首先在本地创建一个新的git仓库
git init
- 注:这个命令会在当前目录下创建一个隐藏的.git文件夹,这个文件夹就是 Git 用来存储版本控制信息的地方
然后进行一次初始提交
创建一个初始文件 readme.md,将其添加到暂存区
touch readme.md
git add readme.md
然后执行下述命令进行一次初始提交
git commit -m "Initial commit"
- 注:双引号中的内容是提交信息,用于简要描述本次提交的内容、目的或相关说明
此时就会在本地仓库中创建一个初始版本记录,表明项目的初始状态已被保存下来
提交过后就可以查看提交记录
git log
(二)在本地仓库进行版本恢复
先执行 git log 查看项目提交历史

使用 git checkout 恢复版本
执行下述命令恢复到特定的版本
git checkout a1b2c3d4e5f6g7h8
工作目录就会被更新为该提交时的状态,包括文件内容、文件结构等
恢复分支到它的上一个已知的好的状态,使用 git checkout 分支名
git checkout master
会将工作目录和索引更新为master分支的最新状态。
二、常用命令
1. 查看当前分支
git branch
打开终端,输入 git branch 命令。这会列出所有的分支,当前所在的分支前面会有一个星号(*)标记。
git status
输出会包含一行显示当前分支的信息
2. 切换分支
git checkout <分支名>
3. git暂存缓冲区
将当前的修改存入缓冲区
git stash
从缓冲区中取出
git stash pop
三、使用过程中的问题总结
1. 在git仓库中再次对其中一个子文件夹执行了git init
这会形成一种嵌套仓库的情况
如果内部文件夹只是被错误地执行了git init,还没有进行实质性的版本控制操作(如没有添加文件、没有提交等),可以直接删除内部文件夹中的.git文件夹
2. 撤回上次推送到服务器的提交
(1)git revert
git revert <commit-id>
<commit-id> 为你想要撤销的提交的哈希值。
创建一个新的提交,这个提交是对之前提交的撤销。
操作流程:
git log
git revert <commit-id>
git push origin <branch-name>
(2) git reset
这种方法会修改提交历史
操作流程:
查看提交记录
git log
撤销提交,但保留工作目录和暂存区的更改。
git reset --soft <commit-id>
<commit-id> 为你想要回退到的提交的哈希值。
撤销提交和暂存区的状态,保留工作目录的更改(默认选项)
git reset --mixed <commit-id>
完全撤销提交,包括工作目录、暂存区和历史记录的更改
git reset --hard <commit-id>
将本地的更改强制推送到远程分支
git push -f origin <branch-name>
<branch-name> 为你的分支名称
3. git推送失败:本地分支与远端分支存在分歧
git pull --no-rebase
合并两个分支
git push