git更多小技巧可以点此查看
分支
指令 | 参数 | 介绍 |
git branch | | 查看分支列表 |
git branch | 分支名 | 创建分支 |
git branch | -a 分支名 | 查询远程分支 |
git branch | -b | 创建并切换到新建的分支上 |
git brabch | -b 分支名 origin/分支名 | 创建远程分支到本地 |
git brabch | -d 分支名 | 删除本地分支 |
git brabch | -D 分支名 | 强行删除本地分支 |
git branch | origin :分支名 | 删除远处仓库分支 |
git branch | -v | 查看所有分支的最后一次操作 |
git branch | -vv | 查看当前分支 |
git branch | --no-merged | 查看未与当前分支合并的分支 |
git branch | --merged | 查看别的分支和当前分支合并过的分支 |
git merge | 分支名 | 合并分支到当前分支上 |
git checkout | | 切换分支 |
git push origin | :分支名称 | 删除远程分支 |
暂存
指令 | 参数 | 介绍 |
git stash | | 暂存当前修改 |
git stash | -u | 暂存当前修改,包括未追踪文件 |
git stash | apply | 恢复最近的一次暂存,追加 –index 参数可以保留状态 |
git stash | pop | 恢复暂存并删除暂存记录 |
git stash | list | 查看暂存列表 |
git stash | drop | 暂存名(例:stash@{0}) 移除某次暂存 |
git stash | clear | 清除暂存 |
回退
指令 | 参数 | 介绍 |
git reset | | 回退 |
git reset | --hard HEAD^ | 回退到上一个版本 |
git reset | --hard ahdhs1(commit_id) | 回退到某个版本 |
git checkout | -- file 撤销修改的文件 | 如果文件加入到了暂存区,则回退到暂存区的,如果文件加入到了版本库,则还原至加入版本库之后的状态 |
git reset | HEAD file | 撤回暂存区的文件修改到工作区 |
git reset --hard && git clean -df | | 工作目录和缓存区回到最近一次commit的状态 |
导出
指令 | 参数 | 介绍 |
git archive | -o update.zip HEAD $(git diff oldID newID --name-only --diff-filter=d) | 导出打包两个版本的变动文件,--diff-filter=d为过滤掉被删除的文件,否则压缩文件报错 |
合并
指令 | 参数 | 介绍 |
git cherry-pick | commit id | 把另一个分支的commit合并到当前分支 |
提交
指令 | 参数 | 介绍 |
git commit | -am"message" | add+commit简写方式,该指令不会提交未追踪的文件 |
git push | -u origin master -f | 强制push到远程 |
git subtree push | --prefix=【www】 origin 【gh-pages】 | 将某一文件夹提交到github某分支 |
标签
指令 | 参数 | 介绍 |
git tag | -a v1.x.x -m "信息" | 添加附注标签 |
git tag | v1.x.x | 添加轻量标签 |
git tag | -d [tagName] | 删除本地标签 |
git push | origin --delete tag [tagName] | 删除远程标签 |
git push | origin [tagName] | 添加tag到远程服务器 |
git push | origin --tags | 添加所有tag到远程服务器 |
其他
提交一个空的文件夹
在空文件夹下添加.gitkeep
文件,内容:
并且在.gitignore
中添加
撤销上次提交:先[强制回退],然后git push origin HEAD --force 删除没有被追踪的文件
git clean -f
git clean -n
是一次clean的演习, 告诉你哪些文件会被删除. 记住他不会真正的删除文件, 只是一个提醒 git clean -df
删除当前目录下没有被track过的文件和文件夹
修改最后一次commit信息:git commit --amend => c(进入vim编辑器) => ZZ(保存并退出)
git commit --amend -m "xxx"