1.设置全局配置
确保你的提交使用正确的身份进行标记。
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
💡 提示:使用
--local
而不是--global
来设置项目特定的配置。
2.撤销最后一次提交(保留更改)
如果你在最后一次提交中犯了错误,可以撤销它。
git reset --soft HEAD~1
3.修改最后一次提交
忘记包含某个更改或想更新提交信息吗?
git add .
git commit --amend -m "更新的提交信息"
这会更新之前的提交,而不创建新的提交。
4.暂存未提交的更改
需要在不提交的情况下快速切换分支吗?
git stash
💡 稍后可以使用以下命令恢复暂存的更改:
git stash pop
5.以图形方式查看提交历史
可视化提交历史使理解项目状态变得更加容易。
git log --graph --oneline --all
6.更改提交作者
更改最后一次提交的作者。
git commit --amend --author="New Author <newauthor@example.com>"
7.检查暂存更改的差异
使用 git diff
比较不同阶段的文件差异。
git diff --staged
这将显示已暂存但尚未提交的更改。
8.使用 bisect
查找 bug
使用 git bisect
找到引入 bug
的提交。
git bisect start
git bisect bad # 当前提交是坏的
git bisect good <commit-hash> # 一个已知的好的提交
Git
将遍历提交历史以识别有问题的提交。
9.通过变基保持提交历史整洁
变基重写你的提交历史,以提高清晰度。
git rebase -i HEAD~3
这让你可以编辑、合并或重新排序最近的三个提交。
10.选择性应用特定提交
想从另一个分支引入特定的提交吗?
git cherry-pick <commit-hash>
11.列出所有分支(本地和远程)
查看可用的分支。
git branch -a
12.清理未跟踪的文件和目录
快速删除未被 Git
跟踪的不必要文件。
git clean -fd
💡 使用
-n
进行模拟运行,以预览将被删除的内容。
13.跟踪上游分支
让本地分支与远程分支保持同步。
git branch --set-upstream-to=origin/main
14.使用交互式变基合并提交
将多个提交合并为一个。
git rebase -i HEAD~n # 将 'n' 替换为提交的数量
15.查看特定提交中的文件
检查特定提交中某个文件的状态。
git show <commit-hash>:path/to/file
16.提交后编辑 .gitignore
文件
如果你忘记忽略某些文件,可以更新 .gitignore
文件。
echo "node_modules/" >> .gitignore
git rm -r --cached node_modules/
git commit -m "更新 .gitignore"
17.撤销已推送的提交
撤销特定提交的更改而不更改历史记录。
git revert <commit-hash>
18.仅获取元数据
想避免拉取整个仓库吗?
git fetch --dry-run
这让你可以查看将要拉取的内容,而无需实际下载数据。
19.追踪代码行的来源
找出文件中特定行的作者。
git blame path/to/file
20.将文件重置为上一个提交状态
丢弃特定文件的本地更改。
git checkout -- path/to/file
21.重置到指定提交
使用 git reset --hard [commit-hash]
可以将当前分支重置到指定的提交状态,丢弃所有后续的更改。注意,这将永久删除未保存的更改。
git reset --hard [commit-hash]
22.为暂存的更改添加消息
使用 git stash -m 'message'
可以为暂存的更改添加描述性消息,方便后续查看和管理。
git stash -m '库更新'
23.创建标签以标记特定提交
使用标签来标记特定的提交,便于版本管理。
git tag your_tag
这将为当前的提交创建一个名为 your_tag
的标签。标签通常用于标记版本或重要的里程碑。
24.查看引用日志以跟踪所有操作
使用 git reflog
可以查看所有引用的日志记录,帮助追踪历史操作。
git reflog
这将显示所有的 HEAD
移动记录,包括已经丢弃的提交,便于恢复到之前的状态。
这24个 Git
命令行技巧可以使你的开发过程更加顺畅,无论是独立工作还是团队合作。虽然 GUI
工具提供了便利,但掌握 Git
命令行能让你对工作流程拥有更大的控制力。试试这些命令,提升你的 Git
技能吧!
评论区