小编Dou*_*oug的帖子

我可以在git中强制执行仅合并分支吗?

我正在使用git,我正在设置以下分支来支持我的工作流程:

  • 发布,仅包含已发布的软件,
  • 测试,包含发布给测试组的软件,
  • 发展,这是发展的地方,
  • some_topic_branch,其中添加了功能等.

主题分支从分支开始并合并到开发中.当我们准备好发布测试版时,测试会在开发中进行合并.当测试版本被批准用于生产时,在测试中发布合并.

这很容易设置,但我想知道git中的执行选项.例如,是否可以强制执行一个策略,其中发布分支上的唯一提交是从测试合并,防止更改直接在发布分支上发生?

git merge workflow branch git-branch

19
推荐指数
1
解决办法
5165
查看次数

将提交从一个分支移动到另一个分支

我已经对我的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)

我可以得到一些帮助吗?我认为这是一项改革工作,但我不太确定如何实现这一目标.

git merge branch rebase

18
推荐指数
1
解决办法
9058
查看次数

在Django Tastypie API中包含子资源

我正在计划一个用于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)

python api django rest tastypie

8
推荐指数
1
解决办法
6673
查看次数

扔掉充满二进制文件的git repo上的旧历史

我有一个带有三年PowerBuilder二进制文件的git repo.回购非常庞大(不到10GB),我认为由于git只能为二进制增量做这么多事实.

我想把这个回购设备变成一个可管理的大小,而且我愿意抛弃一堆早期的历史来做这件事.我只是无法弄清楚如何让git去做.我尝试使用交互式rebase来压缩提交,但它提出了一些我不想处理的冲突.

有没有办法选择一个提交,并在此之前抛弃一切?我意识到它会为后续提交重写SHA-1,这没问题.

git

5
推荐指数
1
解决办法
543
查看次数

合并来自git存储库外部的更改

我正在与该国另一方的另一位开发人员合作,他们是我们项目的负责人,并且没有使用正式的版本控制系统.在我的结尾,我正在跟踪git中的所有代码.我最近开始为主项目做贡献,并希望能够跟踪其他开发人员的更新.

当我收到他更新的代码时,通常采用zip文件的形式.如果我只是将文件解压缩到我的git工作文件夹中,git认为每个文件都已更改,大概是因为统计信息已更改.

我希望看到的是一种方法,我可以将新代码与我的工作副本一起解压缩,并仅合并更改.最好的方法是什么?由于它是Powerbuilder项目,因此大多数文件都是二进制文件.

谢谢!

git version-control

2
推荐指数
1
解决办法
2310
查看次数

更改Trac票的触发操作?

我们目前正在使用FogBugz,每次更改案例时,我都会使用URLTrigger插件调出CGI脚本.我想弄清楚如何用Trac做类似的事情; 有谁知道这是否可能?我找不到任何插件或讨论.

hook bug-tracking trac triggers

2
推荐指数
1
解决办法
464
查看次数