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