前言
因为任职的公司在管理版本时,基本使用 Git 命令行方式,所以把 Git 简单重新整理下。
本文不会长篇大论的讲解 Git,因为在 Git 官网有非常详细的说明。只会基于作为小白式的开始,介绍项目中最常用的一些命令。能够使大家快速地上手使用。
当然除了使用命令行,还有一些 GUI 工具,比如 SourceTree、Github 等。不过在了解 Git 的工作原理后,可以在使用 GUI 时更加游刃有余。
如有错误,欢迎指正。如有建议,欢迎交流。
CSDN 上传图片与排版很让人头大。在经过40多分钟的排版与上传图片后,当我发布那一刻,发现80%的内容都没了。
我估计没有勇气重新来一遍了。
建议看我 Notion 原文。可能打开较慢,请耐心等待。
这里丢出摘要,以便查看。Notion 原文有对应的 Git 操作,以便理解。
摘要
说明:以下所有涉及到 <xxx> 都是占位说明符,都可以整体替换对应的内容。比如:
git clone <url>
// 使用时
git clone git@git.com
安装在 macOS
-
通过安装 Xcode 安装
-
通过 Homebrew 安装
$ brew install git
-
通过提示安装。比如在终端(Terminal)中输入
git --version
,如果没有安装,则会提示安装。
配置
对所有本地仓库操作设置关联的用户名和邮箱地址:
git config --global user.name <name>
git config --global user.email <email>
创建仓库
创建本地仓库:
git init
将本地仓库与远程库关联:
git remote add origin <url>
克隆远程仓库:
git clone <url>
更改
将文件进行快照:
git add <file>
将所有文件进行快照:
git add .
将快照提交到本地仓库:
git commit -m "Descriptive Message"
在 commit 之前让 Git 自动保存快照(即跳过手动保存至暂存区):
git commit -a -m "Descriptive Message"
-a
会包含所有 Git 跟踪的改动文件,并在 commit 之前自动保存快照。
查看当前分支的版本历史:
git log
查看指定 commit 的数据和内容变化:
git show <commit>
查看仓库状态:
git status
撤销
撤销工作区的修改:
git checkout -- <file>
撤销暂存区的快照,保留改动内容在工作区:
git reset HEAD <file>
撤销指定的 commit 之后所有的提交,但本地保留改动内容:
git reset <commit>
或
git reset --soft <commit>
撤销所有提交到指定的 commit,不会保留之后的记录:
git reset --hard <commit>
请谨慎使用 --hard !
分支
查看所处分支:
git branch
创建新分支:
git branch <branchName>
切换指定分支:
git checkout <branchName>
将分支合并到当前分支:
git merge <branch>
删除指定分支:
git branch -d <branchName>
同步更改
下载远程库跟踪分支的所有历史:
git fetch
将远程跟踪分支合并到当前本地分支:
git merge
获取远程跟踪分支的所有新提交,更新至本地对应分支(是 fetch 和 merge 的结合):
git pull
将本地分支提交到远程仓库:
git push
标签
创建标签:
git tag <name>
查看标签:
git tag
删除标签:
// 删除本地标签
git tag -d <tagname>
// 删除远程库标签
git tag -d <tagname>
git push origin :refs/tags/<tagname>
把标签推送至远程库:
git push origin <tagname>
// 推送本地所有未推送的标签
git push origin --tags
别名
创建别名:
git config --global alias.<short command name> <command name>
删除别名:
git config --global unset alias.<short command name>
最后,命令行也可以与 GUI 配合使用。比如直接把文件拖入 SourceTree,即可在 SourceTree 中进行使用。