参考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
因为用mac做开发,下载了XCode,不记录Git的安装.
0.设置个人信息
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
- 注意
git config
命令的--global
参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
1.创建本地Git仓库
- 首先创建文件夹gitDemo
- 启用终端,在gitDemo路径下执行下
git init
命令 - 执行完上面的指令,发现文件夹中多出了一个 .git的文件,默认这个文件为隐藏的,用
command+shift + .
快捷键快速查看隐藏文件
2.将文件添加到git的管理下,并将文件添加至本地版本库
- 新建一个 .txt文件,将其放入gitDemo文件夹中,执行
git add + 文件名
或git add .
(将文件夹中所有的文件都加入到git的管理)命令,将文件添加到git的管理之下(将文件从工作区转移到暂存区). - 执行
git commit -m "这次提交所做的修改"
将.txt文件提交至本地版本库(将文件从暂存区提交至HEAD指针指向的分支)
3. 版本回退
- 前提条件:还没有把自己的本地版本库推送到远程
- 使用
git add.
与git commit -m "修改内容"
命令,多次修改gitDemo文件,并提交至本地版本库 - 使用
git log
查看版本的历史记录详细信息 - 使用
git log --pretty=oneline
可以查看版本的历史记录的简要信息
截图1
-
72f3f1...
这一大串是commit id
(版本号)
下面开始回退版本,回退到上个版本也就是17fd00..
git reset --hard HEAD^
回退到上个版本
git reset --hard HEAD^^
回退到上上个版本
git reset --hard~100
回到上100个版本
4.版本恢复
- 与版本回退相对,如果想再回到
72f3f1..
也就是版本回退之前的版本,有两种方式 git reset --hard +想回到的未来的commit id
- 首先使用
git reflog
来查看你的每一次命令,找到对应的commit id
再使用git reset --hard +想回到的未来的commit id
截图2
- 首先使用
5.撤销对某个文件的操作
首先补充:git status
查看工作区中相对于本地版本库做出了什么修改,某个文件处于什么样的状态下.
场景一:现在我对git.txt文件做出了修改,但是还没有从工作区提交至暂存区,也就是还没执行git add .
指令.使用git checkout -- 文件名
,撤销修改就回到和版本库一模一样的状态;
场景二:我对git.txt文件做了修改,并且执行了git add.
,然后继续对git.txt做修改,使用git checkout -- 文件名
,回到添加到暂存区后的状态,(也就是执行git add.
之后的状态)
总结:git checkout -- 文件名
,作用就是让这个文件回到最近一次git add .
或git commit -m "做了那些修改的记录"
时的状态.
场景三: 我对git.txt文件做了修改,并且将其添加至了暂存区(也就是执行了git add .
),但是发现了一个错误,要进行修改.
执行:git reset HEAD git.txt
,让其从暂存区的内容返回至工作区,修改之后重新 git add .
和git commit ...
网友评论