初始化
| 命令 | 说明 |
|---|---|
| git init | 初始化一个本地仓库 |
| git config --global user.name <用户名> | 设置全局用户名 |
| git config --global user.email <邮箱> | 设置全局邮箱 |
| git clone |
克隆一个仓库到本地 |
| git remote add origin |
关联到远程仓库 |
| git fetch | 获取远程分支 |
| git remote -v | 查看远程仓库连接信息 |
提交/拉取
| 命令 | 说明 |
|---|---|
| git pull | 拉取远程仓库代码 |
| git add <文件/文件夹> | 添加文件到缓存区 |
| git commit -m <提交说明> | 提交代码 |
| git push -u origin |
推送到远程分支 |
撤销/回退/清理
| 命令 | 说明 |
|---|---|
| git rm -r --cached <文件/文件夹> | 取消文件被版本控制 |
| git rm --cached <文件/文件夹> | 取消 add 到缓存区的文件,不删除物理文件。* 表示取消所有 |
| git rm --f <文件/文件夹> | 取消 add 到缓存区的文件,并删除物理文件。* 表示取消所有 |
| git clean -fdx | 清理到所有没有被 git 管理的文件,未 add 过的 |
| git checkout <文件/文件夹> | 放弃指定文件/目录的修改 |
| git checkout . | 放弃当前目录已经子目录的修改 |
| git reset HEAD^ | 返回到上一个分支 |
| git reset HEAD~<数字> | 数字是几就返回到之前的多少个提交 |
| git reset |
返回到指定的 commit id。此种操作可以在你撤销到之前的 commit 之后发现有问题再进行反撤销操作 |
| git log | 查看提交记录 |
| git reflog | 可以查看所有分支的所有操作记录,包括 commit 和 reset 操作,包括已经删除的 commit,git log 无法查看已删除的 commit。 |
注意事项:
git reset带有如下几个常用参数:--mixed:不删除工作空间的改动代码(即使是撤销层级比较多),撤销commit,并且撤销git add .,默认为此参数。--soft:不删除工作空间改动代码,撤销commit,不撤销git add .。--hard:删除工作空间改动代码,撤销commit,撤销git add .。- 如果仅仅只是
commit 注释写错了,可以使用git commit --amend进行修改,然后保存即可。
分支操作
| 命令 | 说明 |
|---|---|
| git branch <分支名> | 创建分支 |
| git checkout <分支名> | 切换分支 |
| git checkout -b <分支名> | 创建并分支 |
| git checkout -b <分支名> |
创建分支并指定最新提交 commit |
| git branch | 查看分支列表 |
| git branch -v | 查看所有分支的最后一次操作 |
| git branch -vv | 查看当前分支的最后一次操作 |
| git brabch -b <分支名> origin/<分支名> | 创建远程分支到本地 |
| git branch --merged | 查看别的分支和当前分支合并过的分支 |
| git branch --no-merged | 查看未与当前分支合并的分支 |
| git branch -d <分支名> | 删除本地分支 |
| git branch -D <分支名> | 强行删除分支 |
| git merge <分支名> | 合并分支到当前分支上;会保存所有的提交过程的信息:引出分支,合并分支,在分支上再引出新的分支等等,类似这样的操作一多,提交历史信息就会显得杂乱,这时如果有问题需要查找就会比较困难了。 |
| git rebase <分支名> | 合并分支到当前分支上;没有多余的合并历史的记录,且合并后的 commit 顺序不一定按照 commit 的提交时间排列 |
| git cherry-pick |
合并某分支的指定 commit,有可能这个 commit 修复了个重大 Bug,但是你又不想把所有 commit 都合并掉,就可以使用这个 |
暂存
| 命令 | 说明 |
|---|---|
| git stash | 暂存当前修改 |
| git stash apply | 恢复最近的一次暂存 |
| git stash pop | 恢复暂存并删除暂存记录 |
| git stash list | 查看暂存列表 |
| git stash drop | 暂存名(例:stash@{0}) 移除某次暂存 |
| git stash clear | 清除暂存 |
标签
| 命令 | 说明 |
|---|---|
| git tag <标签名> | 添加标签(默认对当前版本) |
| git tag <标签名> |
对某一提交记录打标签 |
| git tag -a <标签名> -m '描述' | 创建新标签并增加备注 |
| git tag | 列出所有标签列表 |
| git show <标签名> | 查看标签信息 |
| git tag -d <标签名> | 删除本地标签 |
| git push origin <标签名> | 推送标签到远程仓库 |
| git push origin --tags | 推送所有标签到远程仓库 |
文章评论