git reset 将 HEAD 重置为指定状态。
git reset [-q] [<tree-ish>] [--] <pathspec>…?
git reset [-q] [--pathspec-from-file=<file> [--pathspec-file-nul]] [<tree-ish>]
git reset (--patch | -p) [<tree-ish>] [--] [<pathspec>…?]
git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
git reset
git reset index.js
git reset --hard <commit>
git reset --soft <commit>
ps: 撤销回退可使用 git reflog 查看命令历史。工作区、暂存区、HEAD概念可查看 Git 名词解释 。
git push [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
[--repo=<repository>] [-f | --force] [-d | --delete] [--prune] [-v | --verbose]
[-u | --set-upstream] [-o <string> | --push-option=<string>]
[--[no-]signed|--signed=(true|false|if-asked)]
[--force-with-lease[=<refname>[:<expect>]]]
[--no-verify] [<repository> [<refspec>…?]]
git push <远程主机名> <本地分支名>:<远程分支名>
# 省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
git push origin develop
# 省略本地分支名,相当于 git push origin --delete develop
git push origin :develop
# 如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略。
git push origin
# 如果当前分支只有一个追踪分支,那么主机名都可以省略。
git push
# 如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push。
git push --set-upstream origin develop
标签打在commit上,与commit同在。
git tag [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>] [-e]
<tagname> [<commit> | <object>]
git tag -d <tagname>…?
git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]
[--points-at <object>] [--column[=<options>] | --no-column]
[--create-reflog] [--sort=<key>] [--format=<format>]
[--[no-]merged [<commit>]] [<pattern>…?]
git tag -v [--format=<format>] <tagname>…?
# 给当前commit创建标签
git tag <tagname>
# 给指定commit创建标签
git tag <tagname> <commit>
# 给指定标签添加信息
git tag -a <tagname> -m "blablabla..."
# 查看所有标签
git tag
# 查看一个标签信息
git show <tagname>
# 推送所有标签到远程
git push origin --tags
# 推送指定标签到远程
git push origin <tagname>
# 删除一个本地标签
git tag -d <tagname>
# 删除一个远程标签
git push origin :refs/tags/<tagname>
原文:https://www.cnblogs.com/whosmeya/p/12744940.html