查看分支:
查看本地分支:
git branch
查看远程分支:
git branch -r
查看全部分支(本地和远程):
git branch -a
新建分支:
创建新分支:
git branch <新分支名> [commitid]
创建新分支并且切换到新分支为当前分支:
git checkout -b <新分支名> [commitid]
//**上面commitid 非必填,如果带有commitid参数 则 从 该commitid 处新建分支。(此功也是代码回滚的比较好的方法。因为缘原分支没有变化,新创建了分支,并且新分支达到了回滚效果,可以把生产服务直接指向新创建的回滚分支。)**
删除本地分支:
git branch -d <本地分支名>
切换分支:
git checkout <目标分支名>
创建远程分支(本地分支推送到远程):
git push origin <本地分支名>:<远程分支名>
删除远程分支:
推送给远程一个空分支就等于删除远程分支
git push origin :<远程分支名>
使用参数删除远程分支
git push origin --delete <远程分支名>
add 以后、commit的状态 是本地缓存,切换本地分支 缓存的内容会跟随到当前分支。
commit以后的状态是 根据分支的,在哪个分支执行的commit,更改内容就只在那个分支。
回滚:
方法1:
git reset --hard HEAD~n 或者 git reset --hard commitid
然后使用 git push --force origin ,强行覆盖远端分支。并且 以后 merge 回 原分支的时候 ,被删掉的代码 还会 出现。
不提倡采用此方法,因为reset 回退的同时 删除了之后的代码。
方法2:
git revert -n commitid 之后 再用 git commit -m "" 提交 ,此时 在原基础上新增了一个commit ,再push 推到远端。
这种方法好处是 每次commit的 代码都不会丢失。
上述两个方法都需要先拉一个新分支 ,在新分支上面操作。 不然原有分支就乱了。
方法3:
git branch <新分支名> commitid
git checkout <新分支名>
或
git checkout -b <新分支名> commitid
在某个 commitid 的基础上 新建分支。 并切换到新分支。 原有分支不变。 可以把 服务指向新分支。 在原有分支上 再拉个 新分支修bug。