关于git 分支,master, merge, reset等那些让我崩溃的命令

为了开发下个版本的新功能,新建了个分支,然后我在分支上commit了,也在主分支上改bug并且commit了,于是代码乱作一团(大家脑补我的表情, 姚明笑), 找公司的大哥帮忙搞了好久.也把我吓了半死. 接下来记下我傻逼后解决问题的命令.

先来个git 命令大全压压惊


git cheat sheet

常见git操作的原理:

原理

先记录我最常用的命令, 我每次都要ls列出当前的文件, 然后cd Decktop, 发现terminal不鸟我,这样

有时候不打印任何东西的命令才让人安心

不鸟你就对了,不给你打印error和hint更好.这样 ls 和 cd 到想要的文件.然后:

查看状态:   git status (我都用来看在哪个分支了)

创建+切换分支:git checkout -b

删除分支:git branch -d

查看全部分支:   git branch -a 

提交:   git commit     (一定要先commit, 再git pull 或 git push, 不要问我为什么这么强烈的建议)

查看提交历史:   git log

切换分支:   git checkout master (切换到'master'分支上)

合并分支:   git merge dev (把'dev'分支合并到当前分支)

合并后情况1: 发现合并错了, 想撤销合并, 可以重置回最近提交的状态,  git reset --hard 1e2068b74 (重置到Hash为1e2068b74的这次提交上, 据说Hash值只用7位就可以找到了,不用输太长)

合并后情况2: 有冲突, 解决冲突,然后调用  git add 或  git rm将解决后的文件暂存, 然后commit

查看某个版本的某个文件: git checkout 1e2068b XXX.swift

这时XXX.swift内容会在vim中展示,并且可以编辑.vim几个常用命令

插入:  a  或者 i

退出: esc键

保存: w

保存并退出: wq

输入命令: shift建 + :

给当前版本打标签: git tag -a v1.0.1 -m 'my first tag'



持续更新,git已经把我搞的身形俱疲...记录下来给自己看

你可能感兴趣的:(关于git 分支,master, merge, reset等那些让我崩溃的命令)