我正在使用git,我正在设置以下分支来支持我的工作流程:
主题分支从分支开始并合并到开发中.当我们准备好发布测试版时,测试会在开发中进行合并.当测试版本被批准用于生产时,在测试中发布合并.
这很容易设置,但我想知道git中的执行选项.例如,是否可以强制执行一个策略,其中发布分支上的唯一提交是从测试合并,防止更改直接在发布分支上发生?
我已经对我的git存储库的主分支进行了一系列更改,并将其推送到上游(尽管我是唯一一个使用它们的人.)我想要做的是将这些最后几个提交关闭,roll在master提交之前,将提交重新应用到develop分支,然后合并回master.
这是我的存储库现在的样子:
a [master] [remotes/origin/master]
|
b
|
c
|
d (merge branch 'develop')
|\
| \
| e [develop] [remotes/origin/develop]
| |
q f
| |
r g
Run Code Online (Sandbox Code Playgroud)
这就是我想要的样子:
Z [master] [remotes/origin/master]
|\
| \
| A
| |
| B
| |
d C
|\ |
| \|
| e [develop] [remotes/origin/develop]
| |
q f
| |
r g
Run Code Online (Sandbox Code Playgroud)
我可以得到一些帮助吗?我认为这是一项改革工作,但我不太确定如何实现这一目标.
我正在计划一个用于REST API的Django和Tastypie站点,而且我很难找到将子资源包含在返回资源中的"正确"方法.
作为沙盒,我使用Ticket模型和TicketComment模型制作了一个小应用程序,其中注释属于故障单.我查看了嵌套资源上的Tastypie Cookbook配方(http://django-tastypie.readthedocs.org/en/latest/cookbook.html#nested-resources),但我很难理解为什么要这样做.下面的代码使用django.forms.models.model_to_dict()来获取票证中的注释,但我认为某处必须有"陷阱".
我不应该做我现在正在做的事情吗?此外,是否有一种更干净的感觉模式比菜谱中列出的更清晰?
型号如下:
# tickets/models.py
from django.db import models
class Ticket(models.Model):
title = models.CharField(max_length=200)
create_ts = models.DateTimeField(auto_now_add=True)
submitter_email = models.EmailField()
PRIORITY_CHOICES = (
('H', 'High'),
('M', 'Medium'),
('L', 'Low'),)
priority = models.CharField(max_length=1, choices=PRIORITY_CHOICES)
description = models.TextField()
STATUS_CHOICES = (
('NEW', 'New & Unclaimed'),
('WIP', 'Work In Progress'),
('RES', 'Resolved'),
('CLS', 'Closed'),)
status = models.CharField(max_length=3, choices=STATUS_CHOICES)
def __unicode__(self):
return "<Ticket:%d:%s>" % (self.id, self.title,)
class TicketComment(models.Model):
ticket = models.ForeignKey(Ticket)
comment_ts = models.DateTimeField(auto_now_add=True)
commenter_email = models.EmailField()
comment = models.TextField()
def …
Run Code Online (Sandbox Code Playgroud) 我有一个带有三年PowerBuilder二进制文件的git repo.回购非常庞大(不到10GB),我认为由于git只能为二进制增量做这么多事实.
我想把这个回购设备变成一个可管理的大小,而且我愿意抛弃一堆早期的历史来做这件事.我只是无法弄清楚如何让git去做.我尝试使用交互式rebase来压缩提交,但它提出了一些我不想处理的冲突.
有没有办法选择一个提交,并在此之前抛弃一切?我意识到它会为后续提交重写SHA-1,这没问题.
我正在与该国另一方的另一位开发人员合作,他们是我们项目的负责人,并且没有使用正式的版本控制系统.在我的结尾,我正在跟踪git中的所有代码.我最近开始为主项目做贡献,并希望能够跟踪其他开发人员的更新.
当我收到他更新的代码时,通常采用zip文件的形式.如果我只是将文件解压缩到我的git工作文件夹中,git认为每个文件都已更改,大概是因为统计信息已更改.
我希望看到的是一种方法,我可以将新代码与我的工作副本一起解压缩,并仅合并更改.最好的方法是什么?由于它是Powerbuilder项目,因此大多数文件都是二进制文件.
谢谢!
我们目前正在使用FogBugz,每次更改案例时,我都会使用URLTrigger插件调出CGI脚本.我想弄清楚如何用Trac做类似的事情; 有谁知道这是否可能?我找不到任何插件或讨论.