文档章节

git flow

dubox
 dubox
发布于 2016/11/12 10:54
字数 722
阅读 16
收藏 1
点赞 0
评论 0
Git

新功能开发流程:

开始 feature 分支
git flow feature start name

git flow feature publish name

git flow feature pull name

git flow feature finish name

发布到测试
git flow release start 1.0.0

git flow release publish 1.0.0 

git flow release track 1.0.0

git flow release finish 1.0.0

发生产
git pull origin develop

git push origin develop:develop

git checkout  master

git pull origin master

git push origin master --tags 

__________________________________________________________

文件忽略

//文件忽略 .gitignore

.gitignore会被提交到远程,并对所有用户有效
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

//文件忽略 assume-unchanged
    git update-index --assume-unchanged PATH    在PATH处输入要忽略的文件。
    git update-index --no-assume-unchanged PATH 解除忽略

此方法对“已经被纳入了版本”的文件同样有效

这种方法只对本地有效,即本地修改文件不会被提交 但远程有更新会pull下来

这里的PATH貌似只能是文件不能是目录

当指定PATH为目录时:

如:git update-index --assume-unchanged ./

会提示:Ignoring path xxx/xxx/xxx

可以使用通配符(*),但是如果目录中含有子目录则会报错:

Unable to mark file xxx/xxx/xxx

解决办法:

利用 git ls-files 命令 和 管道符 | 忽略当前目录下所有文件:

git ls-files -z | xargs -0 git update-index --assume-unchanged

当然这样也只是将已有的文件纳入忽略,对新文件没有效果(需要再次执行该命令或结合下面的方法)

//文件忽略 .git/info/exclude

同样只对本地当前用户有效,可设置目录,设置方法和 .gitignore 相同

和 .gitignore一样只对未跟踪的文件有效

    
//更新 .gitignore
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
    更新 .gitignore 可以解决 “文件已经被纳入了版本”的情况
    
//提交忽略的文件
git add -f <path>
    

________________________________________________________________________
    
//查看一个文件的修改史
git log --pretty=oneline 文件名
1. git log filename
可以看到fileName相关的commit记录
2. git log -p filename
可以显示每次提交的diff
3. 只看某次提交中的某个文件变化,可以直接加上fileName
git show c5e69804bbd9725b5dece57f8cbece4a96b9f80b filename

按q退出

 

________________________________________________________________________
//删除本地分支
git branch -d branch-name

//删除远程分支
git push origin :branch-name
冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。


//放弃所有本地修改 包括已经commit还没push的  
git reset --hard origin/branch

 

__________________________________________________________________________

git clean 删除本地 untracked

// 删除 untracked files
git clean -f
 
// 连 untracked 的目录也一起删掉
git clean -fd
 
// 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
git clean -xfd
 
// 在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
git clean -nxfd
git clean -nf
git clean -nfd

 

© 著作权归作者所有

共有 人打赏支持
dubox
粉丝 2
博文 75
码字总数 21225
作品 0
西安
程序员
Gitflow 工作流

Gitflow 工作流定义了一个围绕项目发布的严格分支模型。其优点是清晰可控,使多人项目协作开发更加规范;缺点是相对复杂,需要同时维护两个长期分支。 分支介绍 项目中存在两个长期分支 主分...

angkee ⋅ 2017/10/10 ⋅ 0

git-flow 分支管理模式其工具

很好用的工具,给出了很好的开发模式 安装: git clone git://github.com/nvie/gitflow.git cd gitflow git submodule init git submodule update sudo make install 简单使用: git flow init......

阿昭 ⋅ 2012/07/12 ⋅ 0

研发团队 GIT 开发流程新人学习指南

本文作者:伯乐在线 -管宜尧 。未经作者许可,禁止转载! 欢迎加入伯乐在线专栏作者。 本文定位于为使用GIT标准分支开发流程的开发团队新人提供一份参考指南,其中的内容都是我们公司在研发团...

伯乐在线 ⋅ 2017/02/07 ⋅ 0

GIT版本管理:Git Flow模型

版本管理 SVN版本管理:场景命令实战 SVN版本管理:两种开发模式 GIT版本管理:场景命令实战 GIT版本管理:Git Flow模型 我们都知道, 在 git 的分支功能相对 svn 确实方便许多,. 我的做法是...

陶邦仁 ⋅ 2016/04/27 ⋅ 0

rdc最佳实践之开发模式——git flow

阅读原文请点击 摘要:今天新建项目的时候,发现除原有的以外还增加了和,这是一件非常令人欣喜的事情——毕竟是一个流传已久的,大家都普遍接受的开发模式。 引子 今天新建项目的时候,发现...

阿里云_云栖社区 ⋅ 01/01 ⋅ 0

对Git Flow做些微创新 (3)

昨天改完release分支的操作(http://www.jiangyouxin.net/2013/02/13/gitflow2.html)。现在只剩hotfix了,当然,之后我发现我改的还是release。 按照原始定义,hotfix其实和release很像,唯...

JiangYouxin ⋅ 2013/02/15 ⋅ 0

对Git Flow做点微创新 (2)

昨天改了git flow feature的实现,提供一个选项,finish时不再保留feature分支上的提交历史(http://www.jiangyouxin.net/2013/02/12/gitflow1.html)。今天的主题是release分支。 在原版git...

JiangYouxin ⋅ 2013/02/13 ⋅ 2

git flow入门使用

原文地址:http://www.jiangyouxin.net/2013/02/11/gitflow.html 在github的项目主页上是这么介绍的:(git flow is) Git extensions to provide high-level repository operations for Vinc......

我是小强 ⋅ 2014/01/07 ⋅ 1

Git Flow, Why & How

如果你是个在厂里搞开发的,并且曾有过如下的遭遇: (1) 你被要求马上发布版本,现实却是当前开发的某功能做了一半,现在做不完也毙不干净; (2) 你开发的下一个版本的功能已经做完了,但你们...

JiangYouxin ⋅ 2013/02/15 ⋅ 4

对Git Flow做点微创新 (1)

昨天写了Git Flow印象(http://www.jiangyouxin.net/2013/02/11/gitflow.html),总体来说这是个不错的东西,与现在厂里的研发模型非常契合。所以打算稍稍做些修改,然后拿到厂里去推广。 今...

JiangYouxin ⋅ 2013/02/12 ⋅ 8

没有更多内容

加载失败,请刷新页面

加载更多

下一页

mysql in action / alter table

change character set ALTER SCHEMA `employees` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci ;ALTER TABLE `employees`.`t2` CHARACTER SET = utf8mb4 , COLLAT......

qwfys ⋅ 今天 ⋅ 0

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

MySQL

查看表相关命令 - 查看表结构    desc 表名- 查看生成表的SQL    show create table 表名- 查看索引    show index from  表名 使用索引和不使用索引 由于索引是专门用于加...

stars永恒 ⋅ 昨天 ⋅ 0

easyui学习笔记

EasyUI常用控件禁用方法 combobox $("#id").combobox({ disabled: true }); ----- $("#id").combobox({ disabled: false}); validatebox $("#id").attr("readonly", true); ----- $("#id").r......

miaojiangmin ⋅ 昨天 ⋅ 0

金山WPS发布了Linux WPS Office

导读 近日,金山WPS发布了Linux WPS Office中文社区版新版本,支持大部分主流Linux系统,功能更加完善,兼容性、稳定性大幅度提升。本次更新WPS将首次在Linux提供专业办公文件云存储服务,实...

问题终结者 ⋅ 昨天 ⋅ 0

springboot2输出metrics到influxdb

序 本文主要研究一下如何将springboot2的metrics输出到influxdb maven <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo......

go4it ⋅ 昨天 ⋅ 0

微信小程序 - 选择图片显示操作菜单

之前我分享过选择图片这个文章,但是我在实际开发测试使用中发现一个问题在使用 wx.chooseImage 选择照片显示出第一格是拍照,后面是相册里的图片。这种实现之前说过了,效果如下。 但是你从...

hello_hp ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部