使用hard值恢复文件对新增的文件没有用 使用git stash save " commit" 保存备注 使用 git stash,需要注意的是这会将工作区的还原到上一次git pull的状态,虽然当前已经修改的工作区的内容会保存到stash中,但是在不用切换到其他分支时,或者pull时,不要随便使用该命令. git stash apply or pop 将stash的代码恢复中
git log all 修复HEAD error的问题 git checkout --orphan newbranchname 这个分支还是会将原来的代码复制过去 git reset --merge 解决一些无法merge的文件的问题,当然一些有些文件还是要自己去手动修改的 git add 里面的文件是无法再使用git diff 将代码进行比较的,要使用git reset HEAD 或者git reset HEAD 文件名(暂存区可叫index或者stage中的), 文件放入暂存区,且文件再次修改:分三步:先用 git checkout – 文件名 撤销工作区的改动,再用 git reset <文件名> 撤销 git add 操作(此时更改仍留在工作区),最后执行 git checkout – 文件名 清除工作区的改动 查看远程分支:
使用git reset --soft HEAD~个数,个数指的是要回退到哪几个版本,–soft指的是版本回退到那里但是代码依然保留,并且代码仍然在add区,即保留git add 操作 git reset --mixed HEAD 指不删除已改动的代码,撤销commit ,不保留git add操作 git reset --hard HEAD 删除改动的代码,撤销commit,不保留git add
使用命令 git rebase -i HEAD~num 然后对特定的commit进行操作 pick:保留该commit(缩写:p)
reword:保留该commit,但我需要修改该commit的注释(缩写:r)
edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
squash:将该commit和前一个commit合并(缩写:s)
fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
exec:执行shell命令(缩写:x)
drop:我要丢弃该commit(缩写:d)
git fetch origin dev(dev为远程仓库的分支名) git checkout -b local(本地分支名) origin dev(远程分支名)
git commit --amend