将这些命令添加到您的工作流程中,让Git变得更加强大。如果你经常使用Git,你可能知道它非常有名。它可能是最流行的版本控制方案,一些最大的软件项目使用它来跟踪文件更改。Git提供了一个强大的界面,用于审查代码并将实验性更改合并到现有文件中。由于Git钩子,它以其灵活性而闻名。同时,也因为它的强大,给人留下了“复杂”的印象。Git有很多功能,您不必全部使用它们,但如果您正在深入研究Git的子命令,我这里有一些您可能会觉得有用。1.查找变化如果您已经熟悉Git的基本命令(fetch、add、commit、push、log等),但想了解更多,从Git的检索子命令入手是一个简单而安全的选择。检索您的Git存储库(您的工作树)不会进行任何更改,它只是一种报告机制。您不会像使用gitcheckout那样冒数据完整性的风险,您只是向Git询问存储库的当前状态和历史记录。gitwhatchanged命令(本身几乎是一个助记符)可以查看一次提交中哪些文件发生了变化,发生了哪些变化。这是一个简单、用户友好的命令,因为它将三个命令(show、diff-tree和log)的最佳功能组合到一个易于记忆的命令中。2.使用gitstash管理变更。你越用Git,你就会越用Git。也就是说,一旦您习惯了Git的强大功能,您就会更频繁地使用它。有时,您正在处理一堆文件,突然意识到有更紧迫的任务要做。此时,在gitstash的帮助下,您可以收集所有正在进行的工作并安全地存储它们。当您的工作区变得整洁有序时,您可以专注于其他任务,稍后将暂存文件重新加载到工作树中以继续之前的工作。3.使用gitworktree获取链接副本当gitstash不够用的时候,Git还提供了一个强大的gitworktree命令。使用它,您可以创建存储库的链接克隆,形成一个新的分支,将HEAD设置为任何提交,并基于该分支开始您的新工作。在这个链接的副本中,你可以执行与主副本完全不同的任务。这是避免意外更改影响当前工作的好方法。当你完成新的工作时,你可以将新的分支推送到远程仓库;您还可以存档当前更改以供以后处理;您还可以从其他工作树中获取它们的更改。无论您选择哪一个,您的工作区都将彼此隔离,一个空间的更改不会影响另一个空间的更改,直到您准备好合并它们。4.使用gitcherry-pick选择合并这听起来可能违反直觉,但你的Git级别越高,你可能遇到的合并冲突就越多。这是因为合并冲突不一定是错误的标志,而是活跃的标志。习惯于合并冲突并学习如何解决它们对于学习Git非常重要。通常的方式可能就足够了,但有时你需要更灵活地合并,这时gitcherry-pick就派上用场了。Picking允许您选择部分合并提交,这样您就不需要因为一些小的不一致而拒绝整个合并请求。5.使用Git管理$HOME使用Git管理您的主目录从未如此简单,这要归功于Git能够自由选择管理对象,这是保持多台计算机同步的一种现实可行的方法。选项。但是,您必须非常聪明和小心才能让它发挥作用。如果您想了解更多信息,请阅读我关于使用Git管理$HOME的小技巧。更好地使用GitGit是一个强大的版本控制系统,您对它的使用越熟练,就越容易使用它来完成复杂的任务。
