Git每天1分钟系列——代码仓历史和删除记录
Posted Vax_Loves_1314
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git每天1分钟系列——代码仓历史和删除记录相关的知识,希望对你有一定的参考价值。
历史
- 查看仓库区的历史操作
git reflog
- 历史版本的名称:在Git中,用HEAD表示当前版本,也就是最新的提交00c6c39,上一个版本就是HEAD^,再上一个版本就是HEAD^^,当然往上100个版本写100个^肯定就麻烦了,提供了一种简写方式为HEAD~100
对比
- 在ide中编辑df_user/models.py文件,删除str方法
from django.db import models
class UserInfo(models.Model):
uname = models.CharField(max_length=20)
upwd = models.CharField(max_length=40)
- 对比工作区和仓库区中某版本某文件的不同
git diff HEAD -- 文件名
例:
git diff HEAD -- df_user/models.py
- 将上面的代码添加提交
git add df_user/models.py
git commit -m '删除模型类的str方法'
- 在ide中编辑df_user/models.py文件,修改str方法
from django.db import models
class UserInfo(models.Model):
uname = models.CharField(max_length=20)
upwd = models.CharField(max_length=40)
def __str__(self):
return "%s" % self.uname
- 将上面的代码添加提交
git add df_user/models.py
git commit -m '修改模型类的str方法为name属性'
- 对比工作区和仓库区中某版本某文件的不同
git diff HEAD HEAD^^ -- df_user/models.py
回退
- 回退历史版本到暂存区
- 将df_user/models.py文件的更改完成添加、提交
git add df_user/models.py
git commit -m '修改模型类'
- 查看当前的暂存区状态
git status
- 现在,没有str方法的是当前版本为HEAD,有str方法的版本为HEAD^,将有str方法的代码恢复到暂存区
git reset HEAD^或版本号
例:
git reset HEAD^
- 再次查看当前的暂存区状态
git status
- 可以再将暂存区的内容恢复到工作区
git checkout -- df_user/models.py
- 在ide中查看df_user/models.py文件,发现有str方法
删除
- 在ide中将文件删除
- 从工作区到暂存区提交
git rm 文件名
- 从暂存区到仓库区提交
git commit -m '说明信息'
- 示例如下
- 在模块df_user下添加文件a.py,编写代码如下
if __name__=='__main__':
print 'test a'
- 将df_user/a.py的变更添加到暂存区,再提交到仓库区
git add df_user/a.py
git commit -m '创建文件a'
- 在ide中将df_user/a.py文件删除,然后在暂存区删除
git rm df_user/a.py
- 提交暂存区的记录到仓库区
git commit -m '删除文件a'
- 提示:删除的文件一样可以恢复,只需要先从仓库区到暂存区,再从暂存区到工作区
以上是关于Git每天1分钟系列——代码仓历史和删除记录的主要内容,如果未能解决你的问题,请参考以下文章