-撤销本地的提交记录:
1.git log 可以看到commit 提交的记录id。
》git reset --hard [commit] 源码也会回退到某个版本, commit
和 index
都会回退到某个版本(注意,这种方式是改变本地代码仓库源码)。
》git reset --soft [commit] 保留源码,只回退到 commit
信息到某个版本.不涉及 index
的回退,如果还需要提交,直接 commit
即可
-回滚远程代码:
1.git log 可以看到commit 提交的记录id。
2.git reset --hard [commit] 本地的提交记录就会重置掉。
3.git push origin --force 达到回滚效果。
-新建分支并切换到当前分支:
git checkout -b 分支名字
-迭代分支之下,另起开发分支,需要更新代码:
1.切换到当前开发分支。
2.git pull origin 迭代分支名(此时你的开发分支就和迭代分支最新代码同步了)
-临时保存和恢复修改:
1.备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash save "save message" : 执行存储时,添加备注
2.现在可以开始你的另一项操作。修改bug等一些列新问题。处理完以后就可以进行第三步,把之前的编码释放出来。
3.从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
4.其他的操作
git stash list :查看stash了哪些存储
git stash clear :删除所有缓存的stash
-删除某次commit:
1.git log查看提交记录
2.git rebase -i [commit] (注意此时的commit,是你要删除记录的前一笔,如果commit不是前一笔,你会发现第三步就走不了的尴尬)
3.如果需要删除某次提交记录,找到对应的提交记录,把它前面的 pick 改为 drop (注意文本编辑器插入内容,先按下i,最底下会显示 --插入--,在写drop,控制光标到pick,按del键删除就ok了。ps:本人忘记了怎么操作文本编辑器,如果需要具体操作细节可以自行查阅。)
4.
:wq
(文本编辑器会保存并退出,常用的:q是不保存退出或者:!强制退出都是不行的)
5.git log 可以成功查看删除后的commit