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文件,内容:

# Ignore everything in this directory 
* 
# Except this file !.gitkeep 

并且在.gitignore中添加

文件夹/*
!文件夹/.gitkeep

撤销上次提交:先[强制回退],然后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"