因为自己老是忘记Git的命令,写一篇博客记录一下吧…

Git 配置用户信息


git config --global user.name "天真"
// 配置全局用户名
git config --global user.email PBK-B@PBK6.cn
// 配置全局邮箱

git config user.name "天真"
// 配置当前项目用户名
git config user.email PBK-B@PBK6.cn
// 配置当前项目邮箱

git config --global core.fileMode false
// 全局配置忽略监听文件权限
git config core.fileMode false
// 配置当前项目忽略监听文件权限

Git 基本操作


git push
// 拉取代码

git add .
// 添加全部已修改文件到缓存区

git commit -m "这是这次修改的关键信息"
// 添加 Commit 信息

git push
// 提交代码

git checkout .
// 回滚上次版本,撤销没 add 的全部文件

git remote set-url origin [url]
// 切换远程仓库链接

git reset --soft HEAD^
// 撤销本地commit

git submodule update --remote
// 更新全部子模块

git submodule update --init
// 如果你已经克隆了项目但忘记了 --recurse-submodules,那么可以运行 git submodule update --init 将 git submodule init 和 git submodule update 合并成一步。如果还要初始化、抓取并检出任何嵌套的子模块, 请使用简明的 git submodule update --init --recursive。

Git 初始操作

git clone git@PBK6.cn
// 拉取远程项目

git init
// 使用当前目录作为Git仓库

git log
// 列出历史提交记录

git branch (branch name)
// 创建分支命令

git checkout (branch name)
// 切换分支命令

git merge
// 合并分支命令

git branch
// 列出分支基本命令

git branch -d (branch name)
// 删除分支命令

git config --list
// 查看 Git 当前配置

git config credential.helper store
// 保存 https 协议链接时的密码输入

ssh -T git@github.com
// 测试 GitHub ssh 协议

Git 操作进阶

git tag -m "fix bugs" v1.0.1
git tag -a v1.0.1
// git tag 发布版本带说明信息

git describe --abbrev=0 --tags --match 'v[0-9]*'
// git tag 查看当前版本 tag

git show v1.0.1
// 查看版本信息

git push origin :refs/tags/v1.0.1
// 删除远程 tag

// rebase 需要修改的 commit
git rebase -i HEAD~2
// or
git rebase -i {commitID}

// 执行 rebase 命令后,会出现 reabse 的编辑窗口,窗口底下会有提示如何操作,在这里把需要修改的 commit 最前面的 pick 改为 edit,可以一条或者多条。

git commit --amend --author="{username} <{email}>" --no-edit
// 只修改作者、邮箱

git rebase --continue
// 继续下一个修改


// 清理本地分支
git gc --prune=now
git remote prune origin

// 操作记录
git reflog