iOS进阶之Git程序员互联网科技

你可能不太会用的10个Git命令

2019-03-19  本文已影响22人  撩课学院

本文介绍了 10 个常见的命令以及它们的一些参数。每个命令都可以链接到该命令的 Atlassian Bitbucket 指南。

检查

先了解一下如何检查改动痕迹。


用 Git 进行检查并不麻烦。相比之下,Git 中有不少删除和撤销提交以及文件改动的操作。

撤销

可以用 git reset、git checkout 和 git revert 撤销在代码库中所做的改动,这些命令可能有点难理解。

git reset 和 git checkout 既可用于提交也可用于单个文件的修改,而 git revert 只能用在提交层面。如果你只需要处理尚未合并到协作远程工作的本地提交,你可以使用这三者中任何一条命令。如果是协同工作且需要撤销远程分支中的提交,那么就用 git revert。

这些命令中的每一条都有多个参数。以下是常见的用法:

指定不同的提交而不是 HEAD,以撤销自这条提交以来的更改。--hard 指的是撤销暂存区和非暂存区的更改。

要确保你撤销的不是协作伙伴所依赖的远程分支的提交。

HEAD 常用在 my_commit,用来撤销最近一次提交以来在本地工作目录的改动。

checkout 最适合用于仅限于本地的撤销。它不会破坏你的协作伙伴所依赖的远程分支的提交历史。

如果你将 checkout 用在分支而不是提交上,HEAD 将会切换到指定分支,并更新成匹配的工作目录。这是 checkout 命令更常见的用法。

对协作项目而言,revert 是很安全的,因为它不会覆盖其他用户分支可能依赖的历史记录。

revert 很安全。

有时候你只想删除本地目录中的未追踪文件。例如,也许你运行的代码在版本库中创建了许多你不需要的不同类型的文件。你可以一键清除它们!

默认情况下不会删除 .gitignore 中的未追踪文件,但这种行为是可以更改的。

现在你已经知道了 Git 中用于撤销操作的命令,接下来我们再看两条可以有序排列文件的命令。

整理

如果暂存区中什么都没有,你可以用该命令编辑最新的提交信息。只有在提交尚未整合到远程主分支中时才使用该命令!

如果你用的是 Python,并希望更改你所构建的包,bump2version 会自动为你创建标签。一旦将标签推送出去,你就可以在自己的版本中使用了。这里有一篇我的指南,可以指导你完成第一个 OSS Python 包。跟紧我,确保你不会错过版本控制的部分!

求助,我被困在 Vim 中出不去了!

使用 Git 时,你可能偶尔会发现自己被困在 Vim 会话中了。例如,你试着在没有提交信息的情况下提交,Vim 会自动开启。

以下四步用于在已保存的文件中逃离 Vim:

1. 按 i 进入插入模式

2. 在第一行输入你的提交信息

3. 按下退出键——Esc

4. 输入 :x。别忘了冒号(colon)。

更改默认编辑器

为了避免使用 Vim,可以更改 Git 中的默认编辑器。以下是更改我使用的编辑器 Atom 的默认值的命令:

git config --global core.editor "atom --wait"

假设你已经安装了 Atom,你现在就可以在 Atom 中解决 Git 问题了。

创建 Git 命令的快捷键

在 .bash_profile 中添加以下 alias 命令可以给 Git 命令添加快捷键:

alias gs='git status 'alias ga='git add 'alias gaa='git add -A 'alias gb='git branch 'alias gc='git commit 'alias gcm='git commit -m 'alias go='git checkout '

你可以调整上述命令,来为任何 Git 命令添加快捷键。

如果你没有 .bash_profile,你可以用以下命令在 你的电脑上创建一个:

touch ~/.bash_profile

打开该文件:

open ~/.bash_profile复制代码

现在你在终端键入 gs 的效果和键入 git status 的效果是一样的。注意,在终端中你可以输入快捷键后再输入其它标记。

你也可以使用 Git 的别名,但这要求你在输入快捷键命令之前先输入 git。谁会需要这些额外的按键呢?

上一篇下一篇

猜你喜欢

热点阅读