在 Git 中使用对人类友好的日期格式
Git 是当今版本控制的事实标准。毫无疑问,它是一个强大的工具,可以帮助你以及管理代码并与他人协作。Git 提供了许多绝妙的功能,可以帮助你更好地理解代码历史。但最近,我偶然发现了一个名为“相对日期”的功能,它可以用来以一种对人类友好的方式指定日期,从而从 Git 历史中提取各种信息。比如,git show 命令可用于显示提交或文件特定版本的日志...
Git Squash 用法
在开发一个功能的时候会反复的提交代码,会造成一个功能有很多次提交,在我们要向 mian 做分支合并的时候,就会出现很多 commits,在合并以后同一个功能的 commits 就会很多,导致我们无法清晰的知道这个功能关联的 commit 有哪些,这个 squash 就是优化我们的 commits 信息,让我们的版本仓库看起来简洁明了,功能点一目了...
Git push 使用代理推送代码
因为墙的存在,推送代码到 Github 常常连接不上,这种情况下,可使用代理进行推送:git config --global http.proxy http://127.0.0.1:8580 git config --global https.proxy http://127.0.0.1:8580 。-global 会全局生效。要解除代理git config ...
使用 Git Prune 命令清理 Git 仓库
在本文中,我们将讨论 git prune 命令及其用途。我们知道 Git 对我们的数据非常谨慎。当我们删除提交之类的数据时,Git 不会轻易丢失它们。这会导致我们机器中的陈旧数据堆积。这就是 git prune 命令发挥作用的地方。我们可以将 git prune 命令称为 Git 中的一个内务实用程序,用于清理孤立或无法访问的 Git 对象。当我们谈论不可访...
让 git 忽略文件模式的改变
使用git的过程中发现,就算文件的内容没改变,只有文件的权限改变的话,git也会检测到文件被修改了。解决方法是配置一下:git config --global core.filemode false有些时候,你发现这样配置之后没有什么效果,那是因为该容器内还有自己的配置信息,这个配置信息会覆盖 global 的配置,那么就需要对该容器做一下配置:git co...
git-filter-branch,从 Git 仓库提交历史记录中永久删除某些文件
有时,我们会忘记把含有重要安全信息的信息加入 .gitignore 文件中,或者无意中把诸如 vendor、node_modules 这样的文件夹加入到 git 中。这时候我们就不能仅仅删除当前版本记录,还需要到 git 仓库的历史记录中去永久删除这些文件。此时,我们就要用到 git filter-branch 命令。