一. 回退到指定版本的两种方法
1.reset
git log查看要回退的版本号
git reset --hard (目标版本号)
·回退后再推到远程仓库用git push 会报错,需要用git push -f强推
2.revert
git log查看要回退的版本号
git revert -n (版本号)
·可能会出现冲突,那么需要手动修改冲突的文件
二. 合并特定commits 到另一个分支
1.合并某个分支上的单个commit
例:如果需要把master分支的代码合并到dev分支
·在master分支用git log查看commit版本号
git log
·切换到dev分支后执行git cherry-pick
// 切换分支
git checkout dev
// 合并指定分支 xxxxx:master分支中git log的指定版本号
git cherry-pick xxxxx
三. 从一个git仓库迁移到另外一个git仓库
创建好一个新的git仓库后
1. 在原始仓库中操作
// 拉取最新的代码
git pull
// 将原始仓库推送到新仓库
git remote add new-origin <新仓库地址>
git push --all new-origin
四. 切换分支时:当前分支有改动并且不想提交,可存储到 ‘栈’
git branch // 查看当前分支
git status //查看修改文件
git stash // 将本地改动暂存到“栈”里面
git checkout master // 切换到master分支
git pull // 拉取master分支最新的代码
# 当我们再想切换回当前的feature分支
git checkout feature // 切换回到feature分支
git stash show //显示当前放在栈里的文件
git stash pop // 再将刚才暂存到“栈”里面的代码取出来
git status //此时查看就出现了暂存前修改文件