GIT 操作详细步骤
2018-07-13 08:58:48来源:编程学习网 阅读 ()
1. clone代码
命令: git clone git:mt8735_m0_v1.0.3
说明: 克隆下来的代码, 默认为master分支,远程分支为remote/origin/master。
HEAD指向当前所在的分支(master)。
remote/origin/master中,origin为默认的远程机器名,master为远程分支名称。
图示:
注:在包含“.git”的目录中,执行以下命令
scp git:hooks/commit-msg .git/hooks/
2. 建立bug分支(比如mantis100用于修改mantis上的bug#100)
命令: git checkout -b mantis100
说明:命令执行完成后, 会自动创建并切换至mantis100分支,因此HEAD会指向此分支(mantis100)。
图示:
3. 修改bug#100并在mantis100分支上进行提交
命令: git add, git commit
说明:在修改bug#100的过程中,服务器上会有新的提交(S4,S5)。
mantis100分支指针会随着提交而移动,始终指当前分支的最后一次提交(L1,L2)
由于没有直接在master分支提交,master指针不变。
remote/origin/master指针在(通过fetch, pull等同步命令)与服务器同步前始终不变。
图示:
4. 使用fetch指令获取服务器上的更新
命令: git fetch origin
说明:fetch只会把服务器上的更新拉取到本地,不会与本地的master分支进行合并。
remote/origin/master会始终指向获取到的最后一个远程修改。
图示:
5. 切换至master分支
命令: git checkout master
说明:其实就是HEAD指针指向master, mantis100和master指针均不变
图示:
6. 使用rebase命令更新master分支
命令: git rebase origin/master
说明:目的是使master分支与remote/origin/master分支保持一致, 为后面的cherry-pick做准备
由于master分支上没有在本地提交过修改,因此这个指令不会导致合并动作, 仅将master分支的指针移动至remote/origin/master所指向的节点。
图示:
7. 使用cherry-pick命令追加mantis100分支上的修改
命令: git cherry-pick L1,git cherry-pick L2
说明:有选择性地将L1或L2追加到master分支的末尾,这部分被追加的修改将会被推送到服务器。
图示:
8. 删除mantis100分支
命令: git branch -d mantis100
说明:此时mantis100上的修改已经追加到master分支上准备push了,因此mantis100分支已经完成了它的历史使命,可以删除了。
不建议继续在这个分支上进行开发, 否则会导致分支间的关联过于复杂而产生各种依赖问题。
图示:
9. 使用push命令推送修改至review服务器
命令: git push origin HEAD:refs/for/master
说明:master分支上,在remote/origin/master之后的修改将被推送至代码审核服务器
注意:各个修改的change-id不能相同,否则会出错。
注: 第5步至第7步也可以通过直接在mantis100分支上使用rebase指令来实现。基本思路为:
当remote/origin/master已经通过fetch命令更新了以后,在mantis100分支上:
1. 直接将mantis100分支的修改rebase到remote/origin/master,git rebase origin/master
2. 如果rebase过程中产生冲突,需要手动解决冲突并add修改后文件,再执行rebase –continue
3. 切换回master,并将master分支直接rebase到mantis100分支
4. 删除mantis100分支。
来自:http://www.jianshu.com/p/60fac8b97465
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 编程学习|与其抖音,不如花10分钟来搞懂 Git! 2019-01-23
- 使用git 注意一些事项 2018-07-13
- 详解Git 操作 2018-07-13
- git 代码合并 2018-07-13
- Linux再三小心操作的9个命令 2018-07-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash