一、忘记自己在master上就把修改的内容commit了,push失败的时候才发现自己在master分支上
不知道怎么把修改的内容提交道develop分支上,后来得知如何操作
1、得到你commit那条记录的哈西码
2、切换到develop分支上
3、使用git cherry-pick 哈希码
二、常用命令
1、追溯一个指定文件的历史修改记录
比如我们追溯app/build.gradle文件的修改记录,则使用命令 git blame app/build.gradle
2、创建一个develop分支并切换到develop分支
git checkout -b develop
3、比如我们目前在develop分支上做了一些修改,突然间需要得换到develop1分支上做一些修改,但是我们又不想把develop上的修改提交到远程库,这个时候我们可以使用 git stash 命令来暂存目前在develop分支上的操作。develop1上的修改做完了,我们切回develop分支,想继续上次的修改,此时需要使用git stash pop 命令来找回我们暂存的数据。
git stash list 会显示当前所有暂存数据的列表
git stash apply 取出stash列表中的stash@{0} 并且应用于当前的工作目录
当暂存列表中有很多个暂存数据时,我们可以使用git stash apply stash@{}命令来将暂存项应用到当前工作目录
git stash drop 删除上一个暂存数据,也可指定参数删除指定的暂存数据
git stash clear 删除所有暂存数据记录
4、查看每一个分支的最后一个提交
git branch -v
5、版本回退
HEAD指向的版本就是当前版本,HEAD^指向上一个版本 HEAD^^指向上上个版本,如果网上100个版本,可以写成HEAD~100
在历史版本之前切换,可以使用命令git reset --hard HEAD^ 或者 使用命令 git reset --hard commit_id
切换之前,用git log 可以查看提交历史,以便确定退回到哪一个版本
要重返未来,用git reflog 查看命令历史,以便确定要回到未来的哪个版本