发布于 2026-01-06 6 阅读
0

高级 Git 技巧:别名、变基、多个 SSH 密钥

高级 Git 技巧

别名

重新定基

多个 SSH 密钥

Git 非常棒,只有亲身使用才能真正掌握。尽量学习命令,否则不用就会忘记。图形用户界面工具(例如 Tower 或 SourceTree)也是如此。你可能不需要记住命令,但你会忘记操作流程。

解决方法很简单。学习你需要的东西,用谷歌搜索你不需要的东西。试着记住你是否经常搜索相同的内容。😁

在使用 Git 两年多并教授他人使用 Git 之后,我有一些技巧想要分享。

(我使用命令行而不是图形用户界面。我感觉这样更顺手。)

别名

Git 允许你为命令设置别名,尤其是那些命令过长或经常使用的命令。~/.gitconfig你可以将别名设置到一个文件中。(如果你找不到该文件,可以尝试在 Git 主目录下创建一个。)

这些是我拥有的别名。

[alias]
        pl = pull --rebase
        cm = commit -m
Enter fullscreen mode Exit fullscreen mode

最常用的,正如你所料git cm

重新定基

这就引出了我的另一个别名pull —rebase。这在开发开源项目或拥有大量分支的项目时尤其有用。比如,你创建了一个分支,添加了一个新功能或修复了一个 bug,然后提交了一个 pull request。但当你提交 pull request 时,你会发现 `<path>` 分支master已经更新,并且有很多提交记录不在你的分支中。

在这种情况下,`--rebase` 参数允许你将工作重新应用到主分支之上,就像你刚刚创建了一个新分支一样。这样处理合并冲突也更容易。如果出现冲突,你可以修复它们,然后停止git merge —continuerebase 操作—abort。我使用 VS Code 来解决冲突,非常简单。

多个 SSH 密钥

如果你的工作和个人事务分别使用不同的账户,该怎么办?理想情况下,你不应该这样做。工作账户无论如何都应该设为私密。所以,只需维护一个 GitHub 账户即可。但假设你有两个账户呢?

我这样持续了一年。频繁切换账号既费时又麻烦。幸好有 SSH 密钥!✌🏻

您可以生成多个具有不同邮箱地址(例如,` id_rsaexample.com` 和 ` id_rsa_workexample.com`)的 SSH 密钥,并将它们注册到 GitHub 帐户。访问 GitHub 时,您可以为远程仓库提供自定义 URL。例如:

git clone git@github.com-me:aravindballa/preact-ssr.git
git clone git@github.com-work:sencha/extjs-reactor.git
Enter fullscreen mode Exit fullscreen mode

(附注:是的,我曾在 Sencha 短暂工作过,参与了他们在 ExtJS 6.6 中发布的开源工具的开发。我现在已经不在那里工作了。)

请注意github.com-megithub.com-work这些是我们在 ssh 配置中提供的主机名。

~/.ssh/config

Host github.com-me
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa

Host github.com-work
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_work
Enter fullscreen mode Exit fullscreen mode

你必须记住的一件事是作者

对于工作仓库,您需要手动将user.email设置为工作邮箱。

git config user.email "aravind@awesome-company.com"
Enter fullscreen mode Exit fullscreen mode

否则,你在工作中的提交将通过你的个人帐户进行。

小心!

文章来源:https://dev.to/aravindballa/advanced-git-tips-b98