git reset --soft HEAD^
HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2
常用命令
-
添加远程:git remote add origin <ssh/https url>
-
修改远程:git remote set-url <ssh/https url>
-
缓存所有:git add -A
-
撤销最近一次git add,git reset --mixed
-
撤销缓存:git reset <filename/pathname>
-
提交:git commit -m 'message'
-
修改上一个提交的message:git commit --amend
-
回滚提交:git revert HEAD 撤销前一次提交
- :git revert HEAD^ 撤销前前一次
- :git revert 撤销某一次提交
-
推送远程:git push origin master
-
获取远程:git fetch origin master
-
获取远程并合并至本地:git pull origin master
-
列出分支:git branch (-a列出远程)
-
创建分支:git branch branch1
-
切换分支:git checkout branch1
-
切换远程分支:git fetch git checkout -b branch1 origin/branch1
-
创建并切换分支:git checkout -b branch1
-
合并分支:git merge branch1
-
保留分支信息合并:git merge --no-ff master
-
推送本地分支(新建远程分支):git push origin localbranch:
-
删除分支:git branch -d branch1
-
删除远程分支: git push origin --delete git push origin :
-
打tag:git tag
-
给某一个commit打tag:git tag -a
-
切换tag:git fetch --tags git checkout
-
推送tag:git push origin
-
删除tag:git tag -d git push origin --delete tag
-
显示代码状况:git status
-
显示提交记录:git log/git log --oneline
-
本地分支重命名:git branch -m old new
-
远程分支重命名:
- 删除远程分支:git push origin :远程分支名(你要删除的远程分支名)
- 将本地分支推送到远程分支上,如果远程分支不存在,则创建此远程分支:git push origin 本地分支名:远程分支名
-
将git仓库代码拷贝到另一个git仓库 1、从原地址克隆一份裸版本库,比如原本托管于 GitHub。
git clone --bare http://github....(原始仓库地址)
2、进入克隆下来的目录
cd project.git(project即为你的项目名称)
3、以镜像推送的方式上传代码到新的仓库地址。
git push --mirror http://...(目标仓库地址)
git分支管理
分支名示例:
-
需求或大的功能更新:name/feature/xxxx-TASK-ID
-
bugfix:bugfix/xxxx
-
线上问题修复:hotfix/xxxx
参考(大神可忽略)
-
安装oh-my-zsh插件(zhuanlan.zhihu.com/p/19556676)… gst="git status"
-
安利一个git的插件—tig(github.com/jonas/tig):…
-
使用git flow管理git分支(Git Workflow)
-
《Pro Git》