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

2025-05-28

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

使用Git有时会让人望而生畏。有太多命令和细节需要学习。不过,虽然文档很庞大,但仍然很容易理解。一旦你克服了最初的不知所措的感觉,一切就会变得水到渠成。

这里列出了 15 个您可能还不知道的 Git 命令,但希望它们能够帮助您掌握这个工具。

1.修改最近的提交

git commit --amend
Enter fullscreen mode Exit fullscreen mode

—-amend允许将暂存的更改(例如,添加一个被遗忘的文件)追加到上一个提交。—-no-edit在此基础上添加更改将修改上一个提交,而不会更改其提交信息。如果没有更改,-—amend则允许您重新编写上一个提交信息。

更多信息:git help commit

2. 交互式添加文件的选定部分

git add -p
Enter fullscreen mode Exit fullscreen mode

-p(或—patch)允许以交互方式选择每个跟踪文件的部分内容进行提交。这样,每次提交仅包含相关的更改。

更多信息:git help add

3. 交互式存储文件的选定部分

git stash -p
Enter fullscreen mode Exit fullscreen mode

与类似git-add,您可以使用--patch选项以交互方式选择要存储的每个跟踪文件的部分。

更多信息:git help stash

4. 未追踪的存储

git stash -u
Enter fullscreen mode Exit fullscreen mode

默认情况下,存储时不会包含未跟踪的文件。要更改此行为并包含这些文件,您需要使用-u参数。此外,还有一个-a( —all) 函数,它会同时存储未跟踪和忽略的文件,这通常您不需要用到。

5. 交互式恢复文件的选定部分

git checkout -p
Enter fullscreen mode Exit fullscreen mode

--patch也可以用于选择性地丢弃每个跟踪文件的部分内容。我将此命令别名为git discard

更多信息:git help checkout

6. 切换到上一个分支

git checkout -
Enter fullscreen mode Exit fullscreen mode

此命令允许您快速切换到先前签出的分支。一般来说,-它是上一个分支的别名。它也可以与其他命令一起使用。我将其别名checkoutcoso,它变成了git co -

7. 恢复所有本地更改

git checkout .
Enter fullscreen mode Exit fullscreen mode

如果您确定所有本地更改都可以丢弃,可以使用.一次性完成。不过,始终使用 是一个好习惯checkout --patch

8. 显示更改

git diff --staged
Enter fullscreen mode Exit fullscreen mode

此命令显示所有暂存的更改(添加到索引中的更改),而不是git diff仅显示工作目录中的更改(不包括索引中的更改)。

更多信息:git help diff

9. 本地重命名分支

git branch -m old-name new-name
Enter fullscreen mode Exit fullscreen mode

如果要重命名当前签出的分支,可以将该命令缩短为以下形式:

git branch -m new-name
Enter fullscreen mode Exit fullscreen mode

更多信息:git help branch

10.远程重命名分支

为了远程重命名分支,一旦您在本地重命名分支,您需要先远程删除该分支,然后再次推送重命名的分支。

git push origin :old-name
git push origin new-name
Enter fullscreen mode Exit fullscreen mode

11.一次性打开所有有冲突的文件

重新定基可能会导致冲突,以下命令将打开所有需要您帮助解决这些冲突的文件。

git diff --name-only --diff-filter=U | uniq  | xargs $EDITOR
Enter fullscreen mode Exit fullscreen mode

12. 有什么变化?

git whatchanged —-since=‘2 weeks ago’
Enter fullscreen mode Exit fullscreen mode

此命令将显示过去两周内每次提交所引入的更改的日志。

13. 从上次提交中删除文件

假设你错误地提交了一个文件。你可以使用组合命令rmcommit --amend命令来快速从上次提交中删除该文件:

git rm —-cached <file-to-remove>
git commit —-amend
Enter fullscreen mode Exit fullscreen mode

14. 查找分支

git branch --contains <commit>
Enter fullscreen mode Exit fullscreen mode

此命令将显示包含特定提交的所有分支。

15. 本地优化仓库

git gc --prune=now --aggressive
Enter fullscreen mode Exit fullscreen mode

更多信息:git help gc

奖金

虽然我很喜欢 CLI,但我还是强烈建议你试试Magit,它能让你更上一层楼。它是我用过的最好的软件之一。

此外,还有一个很棒的概述,介绍了通过命令可用的推荐 Git 工作流程help。一定要仔细阅读!

git help workflows
Enter fullscreen mode Exit fullscreen mode
文章来源:https://dev.to/zaiste/15-git-commands-you-may-not-know-4a8j
PREV
22 个简短课程助您成为使用 Flutter 框架的移动程序员
NEXT
您必须知道的 40 种 JavaScript 方法!!