github之移动文件
来源:互联网 发布:java replace替换成空 编辑:程序博客网 时间:2024/06/05 04:04
1. 前言
在这一章中,我们要学习移动文件,其实作为linux风格的github命令。因此其原理上,和linux十分相似。
2. git mv 命令
在Git中,重命名和移动文件是同一件事情 ,最基本的想法是,你有一段内容,比如一些代码,你把它从一个地方移动到另外一个地方,所以,假设我们有一些想要移动的文件从一个目录下面:
git mv file1.txt source/file1.txt
这就是把file1.txt移动到source文件夹下的file1.txt。
git已经暂存了move发生的事实,但是,如果你只是简单的使用mv命令来移动文件,然后忘了告诉git,Git注意到,某个地方出现了一个本不应该出现的新文件,它同时注意到原来的文件区域已经被删除掉了。也就是说git自己并没有意识到是一个移动的操作,而是2个过程,那么需要我们辅助执行:
$ git rm file1.txt //删除原来的文件$ git add source/file1.txt //添加新文件
当我们做这些的时候,状态把这些拼在一起了,告诉我们一个移动已经发生了。也就是说你可以删除一个工作树中不存在的文件,其实这个文件git还记得。
3. git add -A 命令
这个命令我们在上一章中已经讲过了。
它发现所有的移动过去的新文件,删除所有原来的就文件,然后解释为移动已经发生了,记住,这个只是告诉git从当前工作目录开始无限向下递归,你可以比这个更加具体。
比如说,如果你已经在一个目录下作了移动,称作源目录或者类似其他的,这一切都很好,但是注意到我们并没有改变这里的文件,当我们移动他们的时候,在一个真实的场景中,你可能会改变一点文件,当你将它们从一个目录移动到另外一个目录的时候,git仍然把它看做一次移动。
也就是说,即使你在移动前改动了移动的文件,它仍然能够识别出,你是移动了这个文件。而不是别的。
4. git log -M –follow 命令
接着上面的,移动文件之后,我们在新的路径下面编辑这个文件,做另外一次提交,所以现在我们有了3次提交——文件创建的提交,文件移动的提交。
在新的地方,文件编辑的提交,我们可以使用日志命令来展示这个文件在移动过程中的历史,历史在移动的时候停止了添加开关-M和–follow:
$git log --stat -M --follow
告诉日志在文件移动过程中跟踪文件,现在就可以得到想要的结果。
5. Similarity Index
这并不是一个命令或是什么,它是一个相似度数值。
在我们移动这些文件之后,commit给我们一些数字,这些数字是一个类似度,可以表现文件在移动前后内容的相似度。Git默认提供一个50%的相似度阈值,如果文件在移动前后,50%相似,他会在移动的过程中追踪它,认为它是一个移动而不仅仅是一个删除和添加,我们可以调整这个阈值,通过在开关-M之后提供一个数字,如果你比较挑剔,可以使用大于50%的数值,你可以自由地添加参数,尽管如此,注意不要把阈值设置的太小,因为在一个比较低的相似度的情况下,你不认为是相同的文件最后可能会被判定为相同的。
这样就可以根据相似度来追踪不同的位置上不同的文件了。
6. 小结
在这一章中,我们主要的来介绍了github的移动文件的相关操作。但是具体而言,还是应当多加练习,才能够熟练掌握。还有很多小细节,我们日后再讲。
- github之移动文件
- github之删除文件
- github之删除文件
- github之忽略特殊文件
- 程序猿必会之github递交文件
- github上传文件时,目录、文件的创建、复制、删除和移动等操作
- 移动Web开发之HTML5文件上传
- C函数之移动增删文件
- 文件操作编程之复制移动删除
- 移动混合开发之文件管理工具栏
- linux常用命令之移动,拷贝,删除文件
- 【DOS命令】之 move 文件移动
- github之使用github
- GitHub问题之恢复本地被删除的文件
- java文件操作之移动文件到指定的目录
- GitHub之.gitignore使用1---Github使用gitignore忽略增加指定文件
- 移动混合开发之文件管理Final之总结
- 移动文件
- react-native-pull实现上拉加载下拉刷新
- 深入WEB请求过程
- Linux下禁用触摸板
- 三次握手与四次挥手
- HDU2039 三角形
- github之移动文件
- Intellij idea设置jdk
- Latex 编译问题
- 2017年PHP程序员未来路在何方
- 记录一次Eclipse出现的奇怪的事情
- ROS实战_1.2 Pioneer 3DX ROSARIA使用教程
- POJ 2079 Triangle(旋转卡壳计算平面点集最大三角形面积)
- 学习PHP注意事项
- 奇技淫巧