当前位置: 首页 > 科技观察

10个你可能不知道的Git命令

时间:2023-03-22 12:32:08 科技观察

如果你不熟悉基本的git命令,可以在阅读本文之前参考我之前关于Git工作流程的文章。地址:https://towardsdatascience.com/learn-enough-git-to-be-useful-281561eef959本文介绍10个常用命令及其部分参数。每个命令都可以链接到该命令的AtlassianBitbucket指南。1.检查首先要学会检查变化的痕迹。gitdiff-查看所有本地文件更改。如果只需要更改一个文件,可以在命令后加上文件名。gitlog-查看所有提交历史。也可以使用gitlog–pmy_file处理文件,输入q退出。gitblamemyfile-找出谁对my_file做了哪些更改以及何时更改。gitreflog-显示本地存储库HEAD的变更日志。此命令非常适合查找丢失的工作。使用Git签入很容易。相比之下,Git有很多删除和撤消提交和文件更改的操作。2.撤消您可以使用gitreset、gitcheckout和gitrevert来撤消在代码库中所做的更改。这些命令可能有点难以理解。gitreset和gitcheckout可以用于单个文件的提交和修改,而gitrevert只能用于提交级别。如果您只需要处理尚未合并到协作远程工作中的本地提交,则可以使用这三个命令中的任何一个。如果您正在协同工作并且需要撤消远程分支中的提交,请使用gitrevert。这些命令中的每一个都有多个参数。以下是常见的用法:gitreset--hardHEAD--撤消自最近一次提交以来在暂存区和非暂存区的更改。指定与HEAD不同的提交以撤消自该提交以来的更改。--hard意味着撤消暂存区和非暂存区的更改。确保您没有撤消协作者所依赖的远程分支的提交。gitcheckoutmycommit-撤消my_commit中的非暂存更改。HEAD通常用于my_commit以撤消自上次提交以来本地工作目录中的更改。结帐最适用于仅限本地的撤消操作。它不会破坏您的协作者所依赖的远程分支的提交历史。如果您在提交以外的分支上使用检出,HEAD将切换到指定的分支并更新到匹配的工作目录。这是checkout命令更常见的用法。Git还原我的提交-撤消my_commit中的更改。当使用revert撤消更改时,它会产生一个新的提交。还原对于协作项目是安全的,因为它不会覆盖其他用户分支可能依赖的历史记录。还原是安全的有时您只想删除本地目录中未跟踪的文件。例如,也许您正在运行的代码会在您不需要的存储库中创建许多不同类型的文件。您可以一键清理它们!gitclean–n–删除本地工作目录中未跟踪的文件。-n表示试运行,其中不会删除任何内容。-f表示实际删除文件。-d表示删除未跟踪的目录。默认情况下不会删除.gitignore中未跟踪的文件,但可以更改此行为。了解了Git中用于撤消操作的命令之后,让我们再看两个可以对文件进行有序排列的命令。整理Gitcommit--amend——将暂存区中的更改添加到最近的提交中。如果暂存区什么都没有,可以用这个命令编辑***的commit信息。仅当提交尚未集成到远程master分支时才使用此命令!Gitpushmyremote--tags-将所有本地标签发送到远程存储库。适用于版本更改。如果您使用的是Python并且想要更改您构建的包,bump2version会自动为您创建标签。标签推出后,您可以在您的版本中使用它。这是我的指南,可以指导您完成第一个OSSPython包。关注我,确保你不会错过版本控制部分!指南:https://towardsdatascience.com/build-your-first-open-source-python-project-53471c9942a7?source=friends_link&sk=576540dbd90cf2ee72a3a0e0bfa72ffb求助,我卡在Vim里出不去了!使用Git时,您可能偶尔会发现自己陷入了Vim会话。例如,如果您尝试在没有提交消息的情况下提交,Vim将自动启动。如果您不了解Vim,那就太糟糕了——这个StackOverflow上关于如何摆脱这个问题的答案有超过4,000票。以下四个步骤用于在保存的文件中转义Vim:按i进入插入模式在第一行键入您的提交消息按转义键-Esc键入:x。不要忘记冒号。更改默认编辑器为了避免使用Vim,可以更改Git中的默认编辑器。下面是更改Atom默认值的命令,我使用的编辑器:gitconfig--globalcore.editor"atom--wait"假设您安装了Atom,您现在可以解决Atom中的Git问题。为Git命令创建快捷键在.bash_profile中添加如下alias命令为Git命令添加快捷键:aliasgs='gitstatus'aliasga='gitadd'aliasgaa='gitadd-A'aliasgb='gitbranch'aliasgc='gitcommit'aliasgcm='gitcommit-m'aliasgo='gitcheckout'你可以调整上面的命令来为任何Git命令添加快捷键。如果你没有.bash_profile,你可以在macOS上使用以下命令创建一个:touch~/.bash_profile打开文件:open~/.bash_profile关于.bash_profile的更多信息,请参考:https://stackoverflow.com/a/30462883/4590385现在在终端中输入gs的效果与输入gitstatus的效果相同。请注意,在终端中,您可以输入快捷方式,然后输入其他标记。您也可以使用Git别名,但这需要您在输入快捷命令之前键入git。谁需要所有这些额外的击键?总结本文涵盖了很多关键的Git命令以及如何配置您的环境,为您节省了一些时间。现在您已经掌握了Git和GitHub的基础知识,准备好进行下一步了吗?如需更深入的了解,请参阅此BitbucketGit教程:https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud这里还有一个关于Git分支的交互式指南:https://learngitbranching.js.org/与他人一起工作,互相学习,解决彼此的难题!原文链接:https://towardsdatascience.com/10-git-commands-you-should-know-df54bea1595c【本文为《机器之心》专栏原文翻译,微信公众号《机器之心》(id:almosthuman2014)"]点此查看该作者更多好文