20 个每个开发者都应该掌握的 Git 命令行技巧
Git 是每个开发者都离不开的版本控制工具。虽然图形界面工具能让一些任务更简单,但能熟练使用 Git 命令行则能带来更强的掌控力、更灵活的操作和更快的速度。以下是每个开发者都应该了解的 20 个 Git 命令行技巧,以更好地优化他们的工作流程。
此处省略或被删减的内容
1. 设置全局配置选项确保你的提交使用正确的身份信息。
git config --global user.name "你的名字" git config --global user.email "you@example.com"
切换到全屏模式 或者 结束全屏
💡 小贴士: 使用 --local
替代 --global
设置特定项目的配置。
zh: ……
2. 回退上一次提交(但保留更改)如果你上次提交时犯了错误,你可以回退它。
回退到上一次提交但保留文件更改 git reset --soft HEAD~1
进入全屏模式 退出全屏模式
这会留下你的更改暂存,所以你可以修改提交内容或解决这个问题。
zh: 此处省略
3. 修改上一次的提交忘记包含某个更改了,或者想更新提交消息?
在终端里输入如下:
git add . git commit --amend -m "更新提交信息"
全屏:
退出全屏:
这样更新了之前的提交,而不会创建新的提交。
zh: 等等 (děngděng)
4. 暂存未提交的更改需要快速切换到另一个分支但还没提交改动吗?
git stash
进入全屏 退出全屏
💡稍后使用以下命令恢复stash:
git stash apply
```git stash pop``` (弹出并应用暂存区中的更改)
全屏模式 退出全屏
zh: …
(注:若需口语表达,可读作“此处省略”)
5. 图形化查看提交历史查看提交历史记录更容易理解项目的现状。
git日志命令,以图形方式显示每个提交的一行摘要,包括所有分支: git log --graph --oneline --all
切换全屏
zh: 此处省略内容 (chǔcǐ shěnglüè nèiróng)
6. 更改提交作者信息更改上一次提交的作者。
git commit --amend --author="新作者: <newauthor@example.com>"
点击此处进入全屏模式,点击此处退出全屏模式
zh: ……
7. 检查阶段更改之间的差异使用 git diff
命令来比较文件在不同阶段的内容。
在Git中,`git diff --staged` 命令用来查看已暂存但尚未提交的文件的差异。
git diff --staged
进入全屏,退出全屏
这些还没提交的修改显示了暂存区里的内容。
zh: ...
或
zh: 此处省略了内容 (chǔcǐ shěnglüè le nèiróng)
8. 找 Bug(Bisect)用 git bisect 找到引入 bug 的那一次提交。
git bisect start git bisect bad # 这个提交是坏的 git bisect good <commit-hash> # 一个已知的好版本
进入全屏 退出全屏
Git会回溯历史,找出有问题的提交。
zh: ……
9. 清理提交历史,使之清晰Rebasing 会重新整理你的提交历史使其更清晰。
运行 `git rebase -i HEAD~3` 命令(这会打开一个编辑器,让你可以交互式地重新应用最近的3次提交)。
全屏进入 全屏退出
这让你可以编辑、压缩或重新排列最近的3个提交。
zh: (此处省略)
10.\ 选择特定的提交。选择特定的提交,例如通过使用 git cherry-pick
命令。
想从另一个分支引入某个特定的提交吗?
git cherry-pick <commit-hash>
执行 git cherry-pick <commit-hash>
命令可以将指定提交的更改应用到当前分支。
点击全屏 退出全屏 …… ## **11\. 列出所有分支(包括本地和远程)** 看看哪些分支可以使用。
git branch -a
显示所有分支 (Displays all branches)
全屏 退出全屏 zh: …… ## **12\. 清理未被追踪的文件和目录** 快速移除未被 Git 跟踪的不需要的文件。
git clean -fd
这将清除未追踪的文件和目录。 全屏模式,退出全屏 💡 使用 `-n` 参数来试运行,看看将删除哪些内容。 此处省略内容 (chǔcǐ shěnglüò nèiróng) ## **13\. 追踪上游分支** 保持您的本地分支与远程仓库中的分支同步更新。
git branch --set-upstream-to=origin/main # 将当前分支设置为跟踪 origin/main 分支
点击进入全屏模式/点击退出全屏模式 zh: zh: (此处省略) ## 14. 使用交互式变基整理提交 可以把多个提交合并成一个。
git rebase -i HEAD~n # 把 'n' 替换成具体的提交次数
进入全屏 开关闭全屏 zh: 此处省略内容 ## 15\. 查看特定版本的文件 查看文件在某次提交时的状态。
git show <commit-hash>:path/to/file
`git show` 命令用于显示指定提交哈希的文件内容。请保持 `<commit-hash>` 和 `path/to/file` 的格式不变,并用实际的提交哈希和文件路径替换它们。此命令用于 Git 版本控制系统中。 全屏模式;退出全屏 zh: 此处省略 ## **16\. 提交后修改 .gitignore 文件** 如果你漏掉了某些文件,请在.gitignore中添加它们。
echo "node_modules/" >> .gitignore
git rm -r --cached node_modules/
git commit -m "更新 .gitignore 以忽略 node_modules/"
切换到全屏,退出全屏 此处省略内容 ## **17\. 回退一个已推送的提交** 恢复特定提交的更改而不改变提交历史。
使用 `git 回退<commit-hash>`
点击全屏查看 点击退出全屏 * * * ## 18. 只抓取元数据 不想只拉取整个仓库的内容呢?
git fetch --dry-run # 预检git fetch操作
全屏模式,退出全屏 这让你可以看到将会获取的数据,而无需下载。 * * * ## **19. 怪一行代码** 看看是谁写了文件里的那行特定文字
git blame path/to/file
运行此命令可以查看文件的每一行是谁最后修改的。 进入全屏,退出全屏 * * * ## **20. 将文件重置为最后一次提交的状态** 把特定文件的本地修改丢弃了。 在你的git仓库中,如果你想放弃对某个文件的修改并让文件恢复到最近一次提交的状态,你可以使用如下命令:
git checkout -- path/to/file
点击全屏 开始/结束全屏 这20个Git命令行技巧让你的开发流程更加顺畅,无论你是单打独斗还是团队协作。虽然图形界面工具提供了便利,而掌握Git命令行则能让你在工作流程上拥有更多的掌控权。试试这些命令,提升你的Git技能! 祝你编程愉快!🚀 **关注我在GitHub:** 请确保在句子末尾使用冒号“:”。根据最常见的使用习惯,推荐保留“GitHub”。 [\!\[\]\(https://imgapi.imooc.com/6715b09d0803d69304600460.jpg\)](https://github.com/jagroop2001) ## [ Jagroop2001 (Jagroop) · GitHub ](https://github.com/jagroop2001) "最好的错误提示就是永远都不出现的。——Jagroop2001" ![favicon](https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.githubassets.com%2Ffavicons%2Ffavicon.svg) github.com