git分支操作

基本概念

  • master:主分支,也是指针指向最新的一次提交;
  • head:指向当前分支的指针

当我们创建新的分支,git就会新建一个指针(例如:dev),指向master相同的提交,再把head指向dev;就表示在dev分支上了

git指令

创建并切换分支
$ git checkout -b dev


该指令相当于
$ git branch dev // 创建分支
$ git checkout dev // 切换分支


查看分支
git branch


删除分支
git branch -d dev
对于某个分支已经提交了,但是没有和主分支master合并时,想要删除 (用大写D),这种场景会在某个新功能开发到一般时,突然废弃不开发了
git branch -D dev


合并分支
git merge dev // 合并当前分支和dev分支

git解决冲突

有了分支在合并的时候就难免会有冲突
遇到冲突:
先打开文件修改后 再次add commit文件

git diff : 查看的冲突

git保存仓库现场 与恢复仓库现场

正在dev分支上干活,突然有bug要解决,但是dev分支的开发还没干完,不想提交;
这是用:
git stash : 把工作现场储存起来
等到你创建了新分支去解决bug,bug解决完了与master合并了,在回到dev分支上时;继续工作。
git stash list :产看存储起来的分支
工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:
一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
另一种方式是用git stash pop,恢复的同时把stash内容也删了:

git把本地的分支推送到远程仓库

默认情况是把本地的master(主分支)推送到远程仓库的origin分支;如果开发时新建了分支。
比如创建了dev分支,需要推送dev分支时,就用如下指令
git push origin dev
其实默认的push相当于
git push origin master

git远程分支的相关操作

查看本地仓库的分支
git branch

查看本地和远程的所有分支
git branch -a

删除一个本地的分支
git branch -d branch-name

删除一个远程仓库的分支

git push origin :branch-name

冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。

posted @ 2015-03-17 10:55  随遇不安  阅读(295)  评论(0编辑  收藏  举报