git clone url
git branch --all
git remote add chenxu url
git remote
git fetch --all
git branch --set-upstream-to=chenxu/dev
git checkout -b dev chenxu/dev
git pull --all
git pull chenxu dev
git reset
- git reset --soft HEAD^
HEAD^ 的意思是上一个版本,也可以写成HEAD~1
以此类推,回退2次commit使用HEAD~2或HEAD^^
也可以直接跟 revision id 比如 git reset --soft revisionid, 这样HEAD就指向这个revision id。
参数含义:
- –mixed
不删除工作空间改动代码,撤销commit且撤销git add . 操作 - –soft
不删除工作空间改动代码,撤销commit,不撤销git add . 操作 - –hard
删除工作空间改动代码,撤销commit且撤销git add . 操作
只改注释使用 git commit --amend
指令即可。
常见问题:
git reset --hard HEAD^后显示more?的解决方案
在 windows 的 cmd 命令行下操作 git,想要回滚到上一次提交,但是输入 git reset --hard HEAD^ 后就显示 more?,多按几次回车后就报错如下,如何解决呢?
这是因为cmd控制台中换行符默认是 ^ ,而不是\ ,所以它的 more?的意思是问你下一行是否需要再输入,而 ^ 符号就被当做换行符而被 git 命令忽略掉了。
解决方法有如下几种:
方法一:加引号:git reset --hard “HEAD^”
方法二:加一个^:git reset --hard HEAD^^
方法三:换成~:git reset --hard HEAD~ 或者 git reset --hard HEAD~1
~ 后面的数字表示回退几次提交(上面1次为例)
当然还可以换成 git bash,powershell 等就不会出现这种问题了
git revert
- git revert -n revisionid
回退某次提交。
git cherry-pick commit-id
使用示例: git cherry-pick 545cade9