### Git Cheat Sheet详解 #### 一、概述 `git-cheatsheet` 是一份关于 Git 的操作指南,旨在帮助用户快速掌握 Git 的基本命令与用法。Git 作为一款分布式版本控制系统,广泛应用于软件开发过程中,用于跟踪代码变更、管理项目历史版本等。此文档包含了 Git 常用命令的操作示例,涵盖了从创建仓库到合并分支等多个方面。 #### 二、创建仓库 1. **克隆现有仓库** - 命令:`$ git clone ssh://user@domain.com/repo.git` - 解释:通过 SSH 协议克隆一个已存在的远程仓库至本地。 2. **创建新本地仓库** - 命令:`$ git init` - 解释:在当前目录下初始化一个新的 Git 仓库。 #### 三、本地更改 1. **查看工作目录中的更改文件** - 命令:`$ git status` - 解释:显示当前工作目录中所有未提交或未添加到暂存区的文件状态。 2. **查看已追踪文件的更改** - 命令:`$ git diff` - 解释:比较最后一次提交以来文件的变化情况。 3. **将所有当前更改添加到下次提交** - 命令:`$ git add .` - 解释:将工作目录下的所有更改文件添加到暂存区,准备下次提交。 4. **选择性地将文件的更改添加到下次提交** - 命令:`$ git add -p <file>` - 解释:允许用户逐个选择文件中的更改部分,从而只将这些选定的部分添加到暂存区。 5. **提交所有本地已追踪文件的更改** - 命令:`$ git commit -a` - 解释:将所有已追踪文件的更改进行提交。 6. **提交之前暂存的更改** - 命令:`$ git commit` - 解释:提交暂存区中的更改。 7. **修改最近一次提交** - 命令:`$ git commit --amend` - 解释:修改最近一次提交的信息或内容,注意不要用于已经公开发布的提交。 #### 四、提交历史 1. **显示所有提交记录** - 命令:`$ git log` - 解释:展示项目自首次提交以来的所有历史记录。 2. **查看特定文件的历史更改** - 命令:`$ git log -p <file>` - 解释:展示指定文件的历史更改详情。 3. **查询文件中哪些部分被谁何时更改** - 命令:`$ git blame <file>` - 解释:列出文件每一行的作者、提交时间及提交信息。 #### 五、分支与标签 1. **列出所有现有分支** - 命令:`$ git branch -a` - 解释:列出当前仓库中的所有分支(包括远程分支)。 2. **切换到某个分支** - 命令:`$ git checkout <branch>` - 解释:将工作目录切换到指定分支。 3. **基于当前分支创建新分支** - 命令:`$ git branch <new-branch>` - 解释:基于当前分支创建新的分支。 4. **基于远程分支创建跟踪分支** - 命令:`$ git checkout --track <remote/branch>` - 解释:基于远程分支创建新的本地分支,并自动设置跟踪关系。 5. **删除本地分支** - 命令:`$ git branch -d <branch>` - 解释:删除本地指定分支。 6. **为当前提交添加标签** - 命令:`$ git tag <tag-name>` - 解释:为当前分支的最新提交添加标签。 #### 六、更新与发布 1. **列出所有配置的远程仓库** - 命令:`$ git remote -v` - 解释:列出所有配置的远程仓库及其 URL。 2. **显示远程仓库信息** - 命令:`$ git remote show <remote>` - 解释:展示指定远程仓库的详细信息。 3. **添加新的远程仓库** - 命令:`$ git remote add <shortname> <url>` - 解释:添加一个新的远程仓库并设置别名。 4. **从远程仓库下载更改但不合并** - 命令:`$ git fetch <remote>` - 解释:从远程仓库获取最新的更改信息但不立即合并到当前分支。 5. **从远程仓库下载更改并直接合并** - 命令:`$ git pull <remote> <branch>` - 解释:从远程仓库下载最新的更改并立即合并到当前分支。 6. **发布本地更改到远程仓库** - 命令:`$ git push <remote> <branch>` - 解释:将本地分支的更改推送到远程仓库。 7. **删除远程分支** - 命令:`$ git push remote :<remote/branch>` - 解释:删除远程仓库中的指定分支。 8. **发布标签** - 命令:`$ git push --tags` - 解释:将本地所有标签推送到远程仓库。 #### 七、合并与变基 1. **合并分支到当前分支** - 命令:`$ git merge <branch>` - 解释:将指定分支的更改合并到当前分支。 2. **变基当前分支到另一分支** - 命令:`$ git rebase <branch>` - 解释:将当前分支的更改基于另一个分支重新排列,常用于保持分支间的线性历史。 3. **取消变基操作** - 命令:`$ git rebase --abort` - 解释:取消正在进行的变基操作。 4. **解决冲突后继续变基** - 命令:`$ git rebase --continue` - 解释:在解决完冲突后继续变基过程。 5. **使用配置的合并工具解决冲突** - 命令:`$ git mergetool` - 解释:调用配置好的合并工具来解决冲突。 6. **手动解决冲突** - 命令:`$ git add <resolved-file>` 或 `$ git rm <resolved-file>` - 解释:手动解决冲突后,使用该命令标记文件为已解决状态。 #### 八、撤销操作 1. **丢弃所有更改** - 命令:`$ git reset --hard` - 解释:放弃所有未提交的更改并将工作目录恢复到最后一次提交的状态。 2. **撤销暂存区的更改** - 命令:`$ git reset <file>` - 解释:撤销暂存区中指定文件的更改,将其放回工作目录中。 3. **撤销已提交的更改** - 命令:`$ git revert <commit>` - 解释:创建一个新的提交来撤销先前提交的更改。 #### 总结 通过上述命令和解释,我们可以清晰地了解到 Git 在实际项目开发中的使用方法。从创建仓库、管理本地更改到版本控制、合并分支,每一个环节都是 Git 强大功能的体现。熟练掌握这些基本操作是成为一名高效开发者的关键之一。此外,了解如何解决冲突以及如何撤销操作对于避免不必要的麻烦也非常重要。《git-cheatsheet》为我们提供了一份实用的指南,可以帮助我们更好地管理和维护项目的版本历史。
- 粉丝: 3
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助