1. 变基操作,改写历史提交 把多次提交合并起来

git rebase -i HEAD~3 变基之后的哈希值与之前的不同 证明变基是重新做的提交 把多次提交合并成了几次提交

  1. 回撤操作

git commit –amend -m “提交信息” // 回撤上一次提交并与本次工作区一起提交

git reset HEAD~2 –hard // 回撤2步

git reset –files // 从仓库回撤到暂存区

git reset HEAD // 回撤暂存区内容到工作目录

git reset HEAD –soft 回撤提交到暂存区

git reset HEAD –hard // 回撤提交 放弃变更
(慎用)

git reset HEAD^ // 回撤仓库最后一次提交

git reset –hard commitid // 回撤到该次提交id的位置

git push -f -u origin 分支名 所有内容都回撤完了 将回撤后的操作强制推送到远程分支

  1. 标签操作

git tag // 查看列出所有打过的标签名

git tag -d 标签名 // 删除对应标签

git tag 标签名字 // 在当前仓库打个标签

git tag foo -m “message” // 在当前提交上,打
标签foo 并给message信息注释

git tag 标签名 哈希值 -m “message” // 在某个哈希值上打标签并且写上标签的信息

git tag foo HEAD~4 // 在当前提交之前的第4个版本上 打标签foo

git push origin –tags // 把所有打好的标签推送到远程仓库

git push origin 标签名 // 把指定标签推送到远程仓库

git stash // 把暂存区的内容 暂时放在其他中 使暂存区变空

git stash list // 查看stash了哪些存储

git stash pop // 将stash中的内容恢复到当前目录,将缓存堆栈中的对应stash删除

git stash apply // 将stash中的内容恢复到当前目录,不会将缓存堆栈中的对应stash删除

git stash clear // 删除所有缓存的stash

git pull –tags // 把远程仓库的标签也拉取下来

git push origin :refs/tags/远程标签名 // 删除远程仓库的标签

  1. 分支

git branch 分支名 // 新建分支

git branch // 查看当前所有分支

git checkout 分支名 // 检出分支

git checkout -b 分支名 // 创建并切换分支

git branch -v // 查看分支以及提交hash值和commit信息

git merge 分支名 // 把该分支的内容合并到现有分支上

git branch -d 分支名 // 删除分支

git branch -D 分支名 // 强制删除 若没有其他分支合并就删除 d会提示 D不会

git branch -m 旧分支名 新分支名 // 修改分支名

git branch -M 旧分支名 新分支名 // 修改分支名 M强制修改 若与其他分支有冲突也会创建(慎用)

git branch -r // 列出远程分支(远程所有分支名)

git branch -a // 查看远程分支(列出远程分支以及本地分支名)

git fetch // 更新remote索引

git push -u origin 分支名 // 将本地分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push 也可解决 git建立远程分支关联时出现fatal … upstram的问题



8月      Git

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!