三、GIT本地仓库操作

创建版本库

1. 进入一个空目录

 1. mkdir git_project
 2. cd git_project

2. 初始化版本库

git init

此时 git 仓库已经创建,当前目录下多了.git 目录,这个目录是用来跟踪管理版本库,不要轻易修改

3. 添加文件到版本库

# 添加文件
touch README.md
# 查看本地文件变更
git status
# 查看有哪些内容发生了变化
git diff README.md
# 添加到本地跟踪
git add README.md
# 提交到本地版本库 -m 后面是本次提交内容的说明信息
git commit -m '新增 README.md 文件'

4. 查看提交日志

git log
# 缩略显示 
git log --pretty=oneline 
# 下面 d2800开头的是 commmit_id(版本号)
d28002d279f0dd12fb77753179a8a420b4527f5a (HEAD -> master) 新增 README.md 文件
# 

5. 撤销修改

# 丢弃工作区的修改
git checkout file
# 丢弃暂存区的修改 HEAD 表示是最新的版本
git reset HEAD file

6. 回退版本

# 回退到第一次文件变更版本
git reset --hard 4946f9052c105d953b92a6a19523a90946340413
HEAD is now at 4946f90 git 第一次文件变更

# 在GIT中 使用HEAD表示当前版本,上个版本是 HEAD^, 上上个是 HEAD^^, 往前100个是 HEAD~100,也可以直接使用 commit_id 表示对应版本
# 查看提交日志
git log --pretty=oneline 
a0e6d1bf78968a1aa9b5cf587732b88940b9ae1e (HEAD -> master) git 第二次文件变更
4946f9052c105d953b92a6a19523a90946340413 git 第一次文件变更
d28002d279f0dd12fb77753179a8a420b4527f5a 新增 README.md 文件
# 此时 git log 已经无法看见 第二次版本提交记录
4946f9052c105d953b92a6a19523a90946340413 (HEAD -> master) git 第一次文件变更
d28002d279f0dd12fb77753179a8a420b4527f5a 新增 README.md 文件
# 如果你记得之前的版本号,也可以回退到未来版本,比如 a0e6d1bf78968a1aa9b5cf587732b88940b9ae1e
git reset --hard a0e6d1bf78968a1aa9b5cf587732b88940b9ae1e
HEAD is now at a0e6d1b git 第二次文件变更
# 如果你忘记了之前的版本号,又想回滚到未来版本,也是有办法的
git reflog
# 这个命令会记录你每一次操作
a0e6d1b (HEAD -> master) HEAD@{0}: reset: moving to a0e6d1bf78968a1aa9b5cf587732b88940b9ae1e
4946f90 HEAD@{1}: reset: moving to 4946f9052c105d953b92a6a19523a90946340413
a0e6d1b (HEAD -> master) HEAD@{2}: commit: git 第二次文件变更
4946f90 HEAD@{3}: commit: git 第一次文件变更
d28002d HEAD@{4}: commit (initial): 新增 README.md 文件

删除文件

# 删除文件
git rm file

总结

  1. HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
  2. 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
  3. 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值