五个提升你的 Git 水平的命令
创始人
2024-03-02 10:15:59
0

将这些命令加入到你的工作流中,使 Git 发挥更大的作用。

如果你经常使用 Git,你可能会知道它非常有名。它可能是最受欢迎的版本控制方案,它被一些 最大的软件项目 用来 跟踪文件变更。Git 提供了 健壮的界面 来审阅代码、把实验性的变更合并到已经存在的文件中。得益于 Git 钩子,它以灵活性而闻名。同时,也因为它的强大,它给人们留下了一个“复杂”的印象。

Git 有诸多特性,你不必全部使用,但是如果你正在深入研究 Git 的 子命令 subcommands ,我这里倒是有几个,或许你会觉得有用。

1、找到变更

如果你已经熟悉 Git 的基本指令(fetchaddcommitpushlog 等等),但是希望学习更多,那么从 Git 的检索子命令开始是一个简单安全的选择。检索你的 Git 仓库(你的 工作树)并不会做出任何更改,它只是一个报告机制。你不会像使用 git checkout 一样承担数据完整性的风险,你只是在向 Git 请求仓库的当前状态和历史记录而已。

git whatchanged 命令(几乎本身就是一个助记符)可以查看哪些文件在某个 提交 commit 中有变更、分别做了什么变更。它是一个简单的、用户友好的命令,因为它把 showdiff-treelog 这三个命令的最佳功能整合到了一个好记的命令中。

2、使用 git stash 管理变更

你越多地使用 Git,你就会使用 Git 越多。这就是说,一旦你习惯了 Git 的强大功能,你就会更频繁地使用它。有时,你正在处理一大堆文件,忽然意识到了有更紧急的任务要做。这时,在 git stash 的帮助下,你就可以把所有正在进行的工作收集起来,然后安全地 暂存 stash 它们。当你的工作空间变得整洁有序,你就可以把注意力放到别的任务上,晚些时候再把暂存的文件重新加载到工作树里,继续之前的工作。

3、使用 git worktree 来得到链接的副本

git stash 不够用的时候,Git 还提供了强大的 git worktree 命令。有了它,你可以新建一个 链接的 仓库 副本 clone ,组成一个新分支,把 HEAD 设置到任意一个提交上,然后基于这个分支开始你的新工作。在这个链接的副本里,你可以进行和主副本完全不同的任务。这是一个避免意外的变更影响当前工作的好办法。当你完成了你的新工作,你可以把新分支推送到远程仓库;也可以把当前的变更归档,晚些时候再处理;还可以从别的工作树中获取它们的变更。无论选择哪一种,你的工作空间之间都会保持相互隔离,任一空间中的变更都不会影响其他空间中的变更,直到你准备好了要合并它们。

4、使用 git cherry-pick 来选择合并

这可能听起来很反直觉,但是,你的 Git 水平越高,你可能遇到的合并冲突就会越多。这是因为合并冲突不一定是错误的标志,而是活跃的标志。在学习 Git 中,适应合并时的冲突,并学会如何解决它们是非常重要的。通常的方式或许够用,但是有时候你会需要更加灵活地进行合并,这时候就该 git cherry-pick 出场了。遴选操作允许你选择部分合并提交,这样一来你就不需要因为一些细微的不协调而拒绝整个合并请求了。

5、使用 Git 来管理 $HOME

使用 Git 来管理你的主目录从来没有这么简单过,这都要归功于 Git 可以自由选择管理对象的能力,这是一个在多台计算机之间保持同步的现实可行的选项。但是,想要让它工作顺利,你必须非常明智且谨慎才行。如果你想要了解更多,点击阅读我写的关于 使用 Git 来管理 $HOME 的小技巧。

更好地使用 Git

Git 是一个强大的版本控制系统,你使用得越熟练,就可以越轻松地借助它来完成复杂的任务。今天就尝试一些新的 Git 命令吧,欢迎在评论区分享你最喜欢的 Git 命令。


via: https://opensource.com/article/21/4/git-commands

作者:Seth Kenlon 选题:lujun9972 译者:lkxed 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Git

相关内容

冲刺 " 开源 ...
近日,开源共识(上海)网络技术有限公司(以下简称 " 开源中国 "...
2025-03-07 23:20:36
邀请码炒到10万?Open...
新智元报道 编辑:编辑部 JHNZ 【新智元导读】离了个大谱,M...
2025-03-07 14:23:04
腾讯混元发布并开源图生视频...
每经AI快讯,3月6日,据腾讯混元消息,腾讯混元发布图生视频模型并...
2025-03-06 16:50:53
开源仅6天,阿里万相大模型...
3月3日消息,开源社区Hugging Face最新榜单显示,开源仅...
2025-03-03 20:19:33
EA 开源 4 款《命令与...
IT之家 2 月 28 日消息,EA 今日在 GitHub 开源了...
2025-02-28 12:48:47
DeepSeek开源第四弹...
DeepSeek开源周(OpenSourceWeek)第四弹来了,...
2025-02-27 23:19:27

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...