GIT03_初始化init、查看状态status、添加add、删除rm、commit提交、历史版本reflog、忽略文件gitignore(四)

简介: ⑧. 历史版本 reflog log⑨. Git工作目录下文件的两种状态⑩. .gitignore

⑧. 历史版本 reflog log


  • ①. 查看历史版本(git reflog 查看版本信息 | git log 查看版本详细信息)


$ git reflog
272a9cd (HEAD -> master) HEAD@{0}: commit (initial): 第一次提交 a.txt
Administrator@SD-20191128LXMQ MINGW64 /d/gitRepos/repo1 (master)
$ git log
commit 272a9cde6cd70ec607687b6ce161fc46f8b9de2b (HEAD -> master)
Author: o-tangzhi <o-tangzhi@ghac.cn>
Date:   Sun May 16 17:10:35 2021 +0800
    第一次提交 a.txt


②. 版本穿梭(git reset --hard 版本号)

我们在a.txt最后添加了第二次版本


Administrator@SD-20191128LXMQ MINGW64 /d/gitRepos/repo1 (master)
$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   a.txt
no changes added to commit (use "git add" and/or "git commit -a")
Administrator@SD-20191128LXMQ MINGW64 /d/gitRepos/repo1 (master)
$ git add -A
warning: LF will be replaced by CRLF in a.txt.
The file will have its original line endings in your working directory
Administrator@SD-20191128LXMQ MINGW64 /d/gitRepos/repo1 (master)
$ git commit -m "第二次提交了" a.txt
warning: LF will be replaced by CRLF in a.txt.
The file will have its original line endings in your working directory
[master c5d3d8a] 第二次提交了
 1 file changed, 1 insertion(+)
Administrator@SD-20191128LXMQ MINGW64 /d/gitRepos/repo1 (master)
$ git log
commit c5d3d8a380a444650db481f6ea2b84a0a0371716 (HEAD -> master)
Author: o-tangzhi <o-tangzhi@ghac.cn>
Date:   Sun May 16 17:16:19 2021 +0800
    第二次提交了
commit 272a9cde6cd70ec607687b6ce161fc46f8b9de2b
Author: o-tangzhi <o-tangzhi@ghac.cn>
Date:   Sun May 16 17:10:35 2021 +0800
    第一次提交 a.txt
Administrator@SD-20191128LXMQ MINGW64 /d/gitRepos/repo1 (master)
$ git reflog
c5d3d8a (HEAD -> master) HEAD@{0}: commit: 第二次提交了
272a9cd HEAD@{1}: commit (initial): 第一次提交 a.txt
Administrator@SD-20191128LXMQ MINGW64 /d/gitRepos/repo1 (master)
$ git reset --hard 272a9cd  # 注意这里切换到了第一次版本提交
HEAD is now at 272a9cd 第一次提交 a.txt
Administrator@SD-20191128LXMQ MINGW64 /d/gitRepos/repo1 (master)
$ git reflog
272a9cd (HEAD -> master) HEAD@{0}: reset: moving to 272a9cd
c5d3d8a HEAD@{1}: commit: 第二次提交了
272a9cd (HEAD -> master) HEAD@{2}: commit (initial): 第一次提交 a.txt
Administrator@SD-20191128LXMQ MINGW64 /d/gitRepos/repo1 (master)
# 注意这里切换到第二次
$ git reset --hard c5d3d8a
HEAD is now at c5d3d8a 第二次提交了
$ cat a.txt
hello TANGZHI
hello TANGZHI
hello TANGZHI
hello TANGZHI
hello TANGZHI
hello TANGZHI
hello TANGZHI
hello TANGZHI
hello TANGZHI
第二次版本迭代


⑨. Git工作目录下文件的两种状态


  • ①. untracked 未跟踪(未被纳入版本控制)


  • ②. tracked 已跟(被纳入版本控制)
    Unmodified 未修改状态
    Modified 已修改状态
    Staged 已暂存状态
    这些文件的状态会随着我们执行Git的命令发生变化


⑩. .gitignore


  # no .a files :.a结尾的都要忽略
  *.a 
  # !lib.a 不需要忽略
  !lib.a 
  # /TODO的这个文件需要忽略
  /TODO 
  # build目录下所有的文件都忽略
  build/ 
  # doc目录下以.txt文件的都要忽略
  doc/*.txt 
  # doc目录下所有或子目录下所有的.pdf文件都要忽略
  doc/**/*.pdf
相关文章
|
20天前
|
安全 开发工具 git
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
139 5
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
|
3月前
|
API 开发工具 git
使用git pull遇到Automatic merge failed; fix conflicts and then commit the result.解决方案卓伊凡
使用git pull遇到Automatic merge failed; fix conflicts and then commit the result.解决方案卓伊凡
183 0
使用git pull遇到Automatic merge failed; fix conflicts and then commit the result.解决方案卓伊凡
|
3月前
|
开发工具 git
使用Git下载指定版本或指定commit
使用Git下载指定版本或指定commit
|
4月前
|
存储 人工智能 缓存
Git Commit规范:为什么有些公司要求变更行数限制?·优雅草卓伊凡
Git Commit规范:为什么有些公司要求变更行数限制?·优雅草卓伊凡
213 3
Git Commit规范:为什么有些公司要求变更行数限制?·优雅草卓伊凡
|
5月前
|
JavaScript 前端开发 持续交付
实际工作中 Git Commit 代码提交规范是什么样的?
实际工作中 Git Commit 代码提交规范是什么样的?
329 7
|
6月前
|
前端开发 开发工具 git
Git报错处理:解决git commit时的lint-staged错误提示。
极好的,你对Git的lint-staged出了一个令人头疼的问题。让我们一起钻研一下,找到一种方法来解决一切。 首先,我们要确定你是在做什么操作时候遇到了问题。lint-staged通常在我们运行 git commit 时启动,它做的工作是在你提交之前运行一些指定的命令检查你的代码。当lint-staged报错,多半是因为检查未通过,或者它试图运行的命令存在问题。 让我们以一种图解的方式来描绘一下这个过程,就像canvas上的画面那样。git正在温柔的将你的修改捆绑起来,准备提交。突然,lint-staged走了出来,并开始盘问着Git,寻找可能的错误。如果lint-staged找到了什么
762 24
|
1月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
250 15
|
4月前
|
安全 开发工具 git
git的常用操作命令
git的常用操作命令
330 57
|
2月前
|
存储 缓存 开发工具
Git stash命令的详细使用说明及案例分析。
通过上述案例,我们看到stash命令能够在不丢失进度的情况下,帮助开发者临时切换开发上下文,这在处理多个任务或紧急bug时特别有用。正确使用Git stash可以大大提高开发的灵活性和效率。
1023 0
|
5月前
|
存储 项目管理 开发工具
Git常用命令及操作技巧
以上是Git的常用命令及操作技巧,尽管看起来有些繁琐,但实际上只要花费一些时间进行实践,您将很快熟练掌握。随着使用熟练度的提高,您会发现Git对项目管理和协同工作的强大帮助。
142 20