通过上面介绍,你应该已经可以使用Git进行一些日常的工作了。
但是那些并非能应付所有情况的,也不能展现出Git的强大。接下里还会介绍一些你可能会使用到的操作,并再次体验到Git的神奇。
删除文件
有的时候,你会觉的文件是多余的,你想要删除这些文件。需要注意的,有些时候这可能并非是一类要求。
1.你想删除这个文件,并不想再之后的过程中追踪这个文件;
你可以使用git rm命令,如下
#git rm <filename>
这个命令会使该文件从已跟踪的文件清单中被移除,同时,也会移除该文件。
2.你仅仅是想取消对这个文件的追踪,并不想删除这个文件。
如下命令可以完成你这个要求
#git rm --cached <filename>
值得一提,rm命令也会删除文件,当你提交之后重建相同文件名的文件时,这个文件同样会已未追踪的形式出现,类似git rm
移动文件和重命名
在linux中,移动和重命名是由同一个操作完成的
Git中,你可意识用git mv完成这个要求
#git mv <sourcefile> <destfile>
这个命令相当于
#mv sourcefile destfile
#git rm sourcefile
#git add destfile
依赖Git的机制,上面的操作也会被认为是一次重命名。这项操作看似复杂,但是在你使用批处理命令批量改名时会非常有用。
忽视文件
一个个取消文件的追踪太麻烦了,就算你使用通配符,但是也需要时刻取消对新文件(文件名是新的)的追踪。这时你可以选择默认忽略,比如你想忽略.o文件等。
你需要在工作目录下创建.gitignore文件(注意 . ,这是个隐藏文件),然后修改他的内容如下
#cat .gitignore
.gitignore
*.o
注意,这里*.o可不是表情哦,这里表示所有以.o结尾的,如果有童鞋不了解通配符的话,建议你求助百度大神。类似的,你可以加入任何你想要忽视的文件。
查看文件更新
#git diff 查看未暂存的文件更新
#git diff --cached 查看已暂存文件的更新
撤销
在你漫长的编程生涯中,误操作绝对是难免的。撤销绝对是你最常用到的操作类型之一,作为版本控制系统,本身就具有这样的理念,你这一版本发生了位置错误,你需要回退,这就是一次撤销。你对这个功能不甚满意,你有了smart idea....
撤销已经暂存的文件
如果你不小把你不想在这次提交中提交的文件放到了暂存区域。(这个文件你想下次提交),那么你可以使用如下命令将其移出暂存区域。
git reset HEAD <filename>
取消对文件的修改
将文件退回到之前的状态。如果你再上次提交之后,对文件做了一些修改,但是你觉得这些修改都是多余的,你可以使用如下命令,回退文件
git checkout -- <filename>
我想申明的是,这不是ctrl+z,这个操作会回退到上个commit的状态,你需要确定你是否想回退这么多。这个操作是不能被恢复的,因为Git只会记住被提交的操作。当你使用这个命令之后,Git会使用暂存文件复制过来覆盖这个文件,这时,这些修改对于Git就是“没有发生过得了”
小贴士:如果你的文件经过你多次修改也未提交,使用
git add -p
会有惊喜等着你!
分享到:
相关推荐
后者则可能是更深入的学习笔记,可能包含了作者在学习过程中的实践经验、技巧分享,以及一些高级主题,如自定义命令、调用外部程序、使用BibTeX管理参考文献等。 在《LaTeX教程.pdf》中,你可能会学到以下几个关键...
在Android开发过程中,模拟器和应用的创建与调试是开发者...通过不断的实践和学习,你可以逐步深化对Android生态系统的理解和应用开发技巧。这份“Android开发教程笔记五”将引导你进一步探索这个充满无限可能的平台。
- **版本控制**:了解Git的基本操作,如克隆、提交、分支和合并,用于协作开发。 - **代码规范**:遵循PEP 8编码规范,提高代码可读性。 - **测试驱动开发**:使用unittest或pytest进行单元测试,确保代码质量。 ...
### Gitea:开源的Git服务平台 #### 引言 随着软件开发的复杂度日益增加,版本控制成为了软件开发流程中不可或缺的一部分。Git作为一种分布式版本控制系统,被广泛应用于软件开发领域,极大地提高了开发效率和协作...
本压缩包“JavaScript学习笔记_js常用函数封装_js包.zip”包含了对JavaScript基础及进阶技巧的学习资料,特别关注了函数封装和模块化开发实践。 首先,`tool.js`可能是一个实用工具函数集合,封装了一些常见的...
1. C语言基础知识:在《C学习笔记PDF》中,涵盖了C语言的基本概念和语法。文件提到的是C99标准,这是C语言的一个标准版本,它引入了许多改进和新特性。 2. 数据类型:文件详细介绍了C语言中的数据类型,包括基本的...
通过"clrs-notes-solutions"的学习笔记,读者可以对这些算法有更深入的理解,掌握它们的实际应用和潜在的优化技巧。同时,开源性质使得这些资源成为宝贵的自学资料,可以与其他学习者交流,共同提高。
开发者可以下载这个分支的源代码,通过阅读和分析,学习微信小程序的开发技巧,比如如何调用API进行数据操作、如何布局和设计用户界面、如何实现笔记的保存与加载等。 【关键知识点】 1. **微信小程序架构**:小...
【C语言学习笔记1】 本笔记主要涵盖了C语言的基础、高级特性和系统层面的知识,以及相关的开发工具。以下是对各个部分的详细说明: **第一部分:语言基础** 1. **数据类型** - `char`:8位有符号整数。 - `...
在使用Git进行版本控制时,基础操作包括`add`(将更改添加到暂存区)、`commit`(保存暂存区的更改到本地仓库)和`push`(将本地仓库的更改推送到远程仓库)。通过掌握Git,不仅可以管理个人项目,还能参与开源社区...
【HTML学习笔记】 ...它是互联网的基石,允许开发者通过结构化的标签来构建网页内容。在Yut-L.github.io的学习笔记中...同时,这些笔记也可能会涵盖一些实践技巧和解决常见问题的方法,帮助你在实际项目中更加游刃有余。
【keilG-maste笔记】是关于使用Keil μVision集成开发环境进行C语言编程的实践笔记。在本文中,我们将深入探讨Keil μVision的关键功能、安装过程、项目创建、编译与调试,以及如何利用它来优化C程序。 Keil μ...
- **Git**:文档还介绍了版本控制系统Git的基本操作,这对于协作开发尤其重要。 通过以上分析可以看出,这份C99学习笔记内容丰富,覆盖了C99编程语言的各个方面,对于学习和掌握C99编程语言具有很高的参考价值。
- **样式设计**:通过查看wxss文件,可以学习到小程序中的响应式布局、样式重用以及主题色定制等技巧。 3. **后端服务器开发**: - **服务端架构**:“library-server-develop”可能包含了小程序的后端服务代码,...
- **版本管理**:理解Git的基本概念,学会使用Git进行版本控制。 - **测试与调试**:了解unittest模块,进行单元测试和调试技巧。 9. **项目实战** - **案例分析**:通过实际项目,如编写一个小游戏、数据分析...
这份压缩包"日常运维常用笔记总结(Linux,Mac 命令,开发相关工具以及指令.zip"包含了丰富的资料,主要关注Linux和Mac操作系统中的命令行操作以及与开发相关的工具和指令。下面将对这些知识点进行详细解释。 首先,...
通常,这样的代码库会涵盖各种不同的项目,可能包括学习笔记、实验性代码、已完成的应用程序或者用于解决特定问题的脚本。 【标签】虽然没有提供具体的标签,但我们可以根据标题和描述推测,这个压缩包可能涉及到的...
【C语言知识点详解】 ...以上只是C语言编程中的一小部分知识点,实际学习过程中还需要深入理解指针、内存管理、结构体、文件操作、错误处理等方面的内容。不断地实践和学习,才能成为一名熟练的C语言开发者。
描述中提到的“Ansible-yesterday-i-learned.zip”可能是一个用户学习笔记的压缩包,其中包含了作者在学习Ansible过程中积累的知识点和实践案例。文件名为“yesterday-i-learned-master”,这可能暗示这是一个Git...