Git(二)

版本穿梭

这个就是版本管理工具的强大之处了,下面列举了一些在各个版本之间穿梭的方法

这里我还是要放出那张图,出图!

Git(二)

git reset demo    # 从staged状态返回modified状态(比如发现有事情没做完)

git reflog    # 回到未来,首先查看所有log信息,找到版本id

git reset —hard HEAD    # 提交完发现想回到上个版本

# 想回到上个(上上个)版本 
git reset —hard HEAD^[^] 
git reset —hard HEAD~1 (或~2)
#或者直接指定回到的版本id号
git reset —hard 13be9a7

git checkout 12be8s6 — demo    # 针对单个文件回到过去

分支

下面也是跟着一些常用命令来了解一下

git branch dev    # 创建分支dev
git checkout -b dev    # 也可以创建分支dev

git branch    # 查看所有分支

git checkout dev    # 切换到dev分支

git branch -d dev    # 删除分支(需要先切到别的分支)

git checkout master    # 切换到主分支

git merge —no-ff  -m “change info” dev    # 合并branch到master(需要先切换到master)

git log —oneline -graph    # 查看分支图(merge后比较直观)

# 如果branch和master分支内容有区别,merge时会发生分支冲突,需要手动解决

重新定向

谨慎使用rebase,会丢失分支历史信息(master的id也会变),用于把master重新定向到指定的分支后面,语法:

git rebase dev 
git rebase —continue 
git rebase —skip 
git rebase —abort

暂存代码

如果临时需要做一个事情但是又不想影响目前的工作,可以使用暂存代码的方式

git stash    # 暂存

git stash pop    # 拿回暂存的代码

To be continued...