git命令
前端工作从事了五年多点,应该是我进入的公司都比较一般,开发的项目什么的也比较落后,所以对于git,有很多命令,别说用,见都没见过,今天借着整理的机会,也算拓宽一下自己的见识吧。
我们开始,先列一波链接,觉得我整理的不太好的,可自行前往官网 https://git-scm.com/;其中有部介绍git 的图书《Pro Git》https://git-scm.com/book/en/v2,接下来的内容,就是参考的此书,下载的时候记得改中文哦,不然英文的,英文好的,当我没说。
白话的有点多!大家如果有建议,欢迎留言,我会听取大家的意见,争取做的更好,与大家一起进步。
⭐️git 常用命令列表
常用命令中我主要根据使用的场景进行区分的,针对命令的查找,可关注下一部分-git 全命令列表 。
✨ 配置个人用户名和邮箱
git config --global user.name "xxx"
git config --global user.email xxx@163.com
增加了
--global
选项,当前主机用户所有项目都会默认使用这个配置的用户信息。
如果特定项目需要使用其他的配置,可以去掉--global
进行重新配置即可。新的设定保存在当前项目的.git/config
文件里。
✨查看个人用户名和邮箱
git config user.name
git config user.email
✨克隆仓库
git clone https://github.com/xxxxx.git
✨初始化仓库
git init
✨查看分支列表
git branch
✨在不同的分支之间切换、恢复文件、创建新分支
git checkout <branch-name>
git checkout 命令用于在不同的分支之间切换、恢复文件、创建新分支等操作。
注意: git checkout 命令在 Git 2.23 版本后引入了git switch 和 git restore 命令,分别用于分支切换和文件恢复,以提供更清晰的语义和错误检查。如果你使用较新的 Git 版本,可以考虑使用这些命令代替 git checkout。
✨合并分支
- 基本合并
git merge 分支名称 /*合并本地目标分支到当前分支 */
- 合并时创建一个合并提交
git checkout main
git merge --no-ff 分支名称
这将创建一个新的提交,即使 feature-branch 可以直接向前合并到 main
- 先对一个分支进行变基,然后再合并
git checkout 分支名
git rebase main
git checkout main
git merge 分支名
✨中断合并分支
git merge --abort
⭐️git 全命令列表
命令 | 解释 | 备注 |
---|---|---|
git config | 读取和写入配置值 | 无参为读,有参为写 |
git config core.editor | 配置默认文本编辑器 | |
git help | 获取帮助 | |
git init | 初始化 | |
git clone | 克隆仓库 | |
git add | 添加到暂存区 | |
git status | 显示不同状态的文件 | |
git diff | 比较分支差异 | |
git difftool | 启动外部工具展示差异 | |
git commit | 提交 | |
git reset | 撤销 | |
git rm | 移除文件 | |
git mv | 移动文件 | |
git clean | 移除文件 | |
git branch | 查询分支 | |
git checkout | 切换分支,检验分支 | |
git merge | 合并分支 | |
git mergetool | 启动合并分支工具 | |
git log | 历史记录 | |
git stash | 暂存修改 | |
git tag | 指定书签 | |
git fetch | 拉取本地没有的远程代码 | |
git pull | 拉取 | |
git push | 推送 | |
git remote | 绑定远程仓库 | |
git archive | 创建项目一个指定快照的归档文件 | |
git submodule | 管理一个仓库的其他外部仓库 | |
git show | 显示一个标签或一个提交的信息 | |
git shortlog | 用来归纳 git log的输出的命令 | |
git describe | 接受任何可以解析成一个提交的东西 | |
git bisect | 调试工具二分查找 | |
git blame | 标注任何文件的行 | |
git grep | 查找任何字符串或者正则表达式 | |
git cherry-pick | 获得在单个提交中引入的变更 | |
git rebase | 变基 | |
git revert | 撤销 | |
git apply | 通过 git diff或者甚至使用 GNU diff 命令创建的补丁 | |
git am | 应用来自邮箱的补丁 | |
git format-patch | 以 mbox 的格式来生成一系列的补丁以便你可以发送到一个邮件列表中 | |
git imap-send | 由 git format-patch生成的邮箱上传至 IMAP 草稿文件夹 | |
git send-email | 用来通过邮件发送那些使用 git format-patch生成的补丁 | |
git request-pull | 用来生成一个可通过邮件发送给某个人的示例信息体 | |
git svn | 可以使 Git 作为一个客户端来与 Subversion 版本控制系统通信 | |
git fast-import | 快速地将其他格式映射到 Git 可以轻松记录的格式 | |
git gc | 删除数据库中不需要的文件和将其他文件打包成一种更有效的格式 | |
git fsck | 用来检查内部数据库的问题或者不一致性 | |
git reflog | 分析你所有分支的头指针的日志来查找出你在重写历史上可能丢失的提交 | |
git filter-branch | 根据某些规则来重写大量的提交记录 |
⭐️参考
- 🚩 git官网: https://git-scm.com/
- 🚩Pro Git :https://git-scm.com/book/en/v2