文档章节

git flow

dubox
 dubox
发布于 2016/11/12 10:54
字数 722
阅读 16
收藏 1
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
粉丝 3
博文 92
码字总数 26425
作品 0
西安
程序员
Gitflow 工作流

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

angkee
2017/10/10
0
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
0
研发团队 GIT 开发流程新人学习指南

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

伯乐在线
2017/02/07
0
0
rdc最佳实践之开发模式——git flow

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

阿里云_云栖社区
01/01
0
0
GIT版本管理:Git Flow模型

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

陶邦仁
2016/04/27
370
0

没有更多内容

加载失败,请刷新页面

加载更多

打包QML程序

1、windeployqt执行路径(D:\Qt\5.12.0\msvc2017_64\bin)加入到PATH中 2、使用Qt自带的命令行交互 Command 终端(Qt 5.12.0 64-bit for Desktop (MSVC 2017))切换到 Release 编译成功的exe...

渣渣曦
21分钟前
0
0
优秀互联网高级测试工程师应该具备的能力

概述 在之前写的互联网高级测试工程师至少具备的能力一文中,提到了测试工程师至少具备的能力,但是并没有提到优秀测试工程师应该具备的能力,下文简单的谈一谈。当然这些全部都是我的个人理...

Sam哥哥聊技术
24分钟前
1
0
webpack项目配置

前端工程化 前端工程化是根据业务特点,将前端开发流程规范化,标准化,它包括了开发流程、技术选型、代码规范、构建发布等等,用语提升前端工程师的开发效率和代码质量。 自动化构建工具 1、...

羊皮卷
27分钟前
0
0
Linux命令备忘录: jobs 显示Linux中的任务列表及任务状态命令

jobs命令用于显示Linux中的任务列表及任务状态,包括后台运行的任务。该命令可以显示任务号及其对应的进程号。其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的...

开元中国2015
今天
2
0
springboot Whitelabel Error Page(Not Found)解决方案

当出现上图图的错误时注意 报错信息 There was an unexpected error (type=Not Found, status=404). Not Found代表未访问到资源 解决方案:比较访问路径和代码的路径有没有写错 正确的访问路...

斩神魂
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部