分享

Git 分支与合并

 ala咪s 2014-02-11

一次提交的对象数据
Git 分支与合并
多次提交后形成指向上次的指针
Git 分支与合并

分支是指向一个commit对象的一个 可变指针   
master是分支的默认名字,指向最后一次commit对象的指针
创建分支就是创建分支指针
head指针指向当前工作目录


Git 分支与合并
为分支合并自动识别出最佳的同源合并点

Git 分支与合并

01 git clone url #克隆新的版本库
02 git init 
03 git pull repo_name #有关联的远程库,抽取并和本地合并
04 git fetch remote_repo_name #抽取并新建分支
05   
06    
07   
08 #在当前commit对象上新建分支   指针head
09 #head指向正在工作中的本地分支的指针(别名)
10 #不会切换到新建的分支上
11 git branch branch1
12   
13 #切换分支将head指向branch1
14 git checkout branch1 
15   
16 #工作流程卡
17 #在不同的分支里反复切换,并在时机成熟时把他们合并到一起
18 #git的分支实际是一个包含所指向对象校验和的文件(40个字符长度SHA-1字串)
19   
20 #分支的新建和合并
21 #0、自己工作分支mybranch,工作的好好的 
22   
23 #1、突然有新需求,先切换到生产环境分支product;
24 git checkout product
25   
26 #2、为新需求新建分支branch_pack,切到其中,并在其中编码,直到通过测试用例
27 # -b 新建分支并切换到其上
28 git checkout -b issueXXXX 
29   
30 #3、切换到生产环境分支product,将2中的开发工作分支branch_pack合并进来,然后推送到生产服务器上
31 git checkout product
32 # 合并
33 git merge branch_pach
34 #冲突解决,merge失败时很可能因对同一文件的同时更改,所以必须手动人工解决 取舍代码,确认冲突解决后需要把冲突文件 git add到staged area,运行git status查看所有状态确保无误后再git commit提交,注释好冲突为什么这么解决
35   
36 git push 远程仓库名  本地仓库名
37   
38 #分支删除
39 git branch -d branch_pach
40   
41 4、切换到mybranch继续自己的工作
42 git checkout mybranch
43    
44 #切换分支最好没有待提交的文件,即stage area是清洁的
45 #查看各个分支最后一个提交对象的信息
46 git branch -v
47 git branch --merge/no-merged
48 #查看哪些分支已被并入当前分支(译注:也就是说哪些分支是当前分支的直接上游
49   
50   
51   
52 #给分支生成patch文件可以给
53 git format-patch 
54   
55   
56 #把本地名为serverfix的分支推送到远程origin库的awesomebranch分支
57 git push origin serverfix:awesomebranch 
58   
59 #跟踪远程分支 从远程分支checkout出的本地分支成为  跟踪分支
60 git checkout -b sf origin/serverfix
61 git checkout --track origin/serverfix
62    
63 #删除远程分支
64 git push origin :serverfix 
65   
66 git两种开发分支方法
67 长期分支:一个主分支保持稳定代码,其余多个开放分支
68 特性topic分支:多个短期单一功能的分支
69   
70 #给当前文件 打特定版本标签
71 git tag -a  beta0.1 -m "some 注释"
72   
73 #回退到某个tag
74

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多