Tag: 樱桃挑

git樱桃挑选不工作

我试图挑选主人的承诺,并将其纳入当前的生产分支。 但是,当我执行git cherry-pick <SHA-hash> ,我只是得到这个消息: # On branch prod_20110801 # Untracked files: # (use "git add <file>…" to include in what will be committed) # site/test-result/ nothing added to commit but untracked files present (use "git add" to track) The previous cherry-pick is now empty, possibly due to conflict resolution. If you wish to commit […]

什么Git分支模型适合你?

我们公司目前正在使用一个简单的中继/发布/修补程序分支模型,并希望build议哪些分支模型最适合您的公司或开发stream程。 工作stream程/分支模型 下面是我所看到的这三个主要的描述,但是它们之间有部分矛盾,或者不足以解决我们遇到的后续问题(如下所述)。 因此,我们的团队迄今默认不是很好的解决scheme。 你做得更好吗? gitworkflows(7)手册页 (nvie)一个成功的Git分支模型 (reinh)敏捷团队的Git工作stream程 合并与重新分配(纠结与顺序历史) 是否应该pull –rebase等待回到主线,直到完成任务? 我个人倾向于合并,因为这保留了一个任务开始和完成的基地的视觉插图,我甚至更喜欢merge –no-ff为此目的。 但是它也有其他的缺点。 还有很多还没有意识到合并的有用性质 – 它是不可交换的 (将主题分支合并成主并不意味着将主合并到主题分支中)。 我正在寻找一个自然的工作stream程 有时会发生错误,因为我们的程序没有用简单的规则来捕捉特定的情况。 例如,早期版本所需的修补程序当然应该基于下游,以便可以将上游合并到所有必要的分支(这些术语的用法是否足够清楚?)。 然而,在开发人员意识到它应该放置在更下游之前,一个修补程序会将其发送到主服务器,如果已经被推送(甚至更糟糕,合并或基于此),那么剩下的选项是樱桃采摘其相关的风险。 你用什么简单的规则? 此外,还包括一个主题分支的尴尬必然排除其他主题分支(假设它们从共同基线分支)。 开发人员不想完成一个function,开始另一个function,就像他们刚才写的代码不在那里一样 如何避免造成合并冲突(由于樱桃采摘)? 合并冲突似乎是一种肯定的方式,就是在分支之间进行挑选,他们再也不能合并了。 在两个分支中应用相同的提交还原(如何做到这一点?)可能解决这种情况? 这是我不敢推动大部分基于合并的工作stream程的一个原因。 如何分解成局部分支? 我们认识到,从主题分支组装完成的集成是非常棒的,但是我们的开发人员经常做的工作并没有明确的定义(有时候简单到“扯开”),如果某些代码已经进入了“其他”主题,根据上面的问题,它不能再被带出去吗? 你如何处理定义/批准/gradle/发布你的主题分支? 代码审查和gradle等适当的程序当然是可爱的。 但是,我们根本无法把事情解决得足够清楚,有什么build议? 整合分支机构,插图? 以下是相关问题的列表: 什么是一些好的策略,允许部署的应用程序是可修复的? Git用于内部开发的工作stream程描述 用于企业Linux内核开发的Git工作stream程 你如何维护开发代码和生产代码? (感谢这个 PDF!) git发布pipe理 Git Cherry-pick vs合并工作stream程 如何挑选多个提交 你如何合并select性文件与Git合并? 如何樱桃select一系列的提交并合并到另一个分支 ReinH Git工作stream程 Git的工作stream程进行修改,你永远不会推回原点 樱桃挑选合并 正确的混合操作系统和私人代码的Git工作stream程? 用Git维护项目 […]

如何git-cherry-pick只改变某些文件?

如果我想要合并到一个Git分支中,所做的更改只对在特定提交中更改的某些文件(包括对多个文件的更改)进行,那么如何实现这一点? 假设被调用的Git提交对文件A , B , C和D进行了更改,但我只想将文件A和B的更改合并。 这听起来像是一个git cherry-pick的工作,但cherry-pick只知道如何合并整个提交,而不是文件的一个子集。

是否有可能从另一个git仓库挑选提交?

我正在与一个git仓库工作,需要从另一个git仓库的提交,不知道第一个。 通常我会select在reflog中使用HEAD@{x} ,但是因为这个.git对这个reflog条目(不同的物理目录)一无所知,我该如何挑选这个呢? 我正在使用git-svn 。 我的第一个分支是使用Subversion repo的trunk的git-svn ,而下一个分支是在Subversion分支上使用git-svn 。

Git Cherry-pick vs合并工作stream程

假设我是一个回购的维护者,并且我想从一个贡献者中引入更改,有几个可能的工作stream程: 我从远程cherry-pick每个提交(按顺序)。 在这种情况下,git将提交logging为与远程分支无关。 我merge了分支,引入所有的变化,并添加一个新的“冲突”提交(如果需要的话)。 我分别merge远程分支中的每个提交(按顺序),允许为每个提交logging冲突,而不是将所有提交分组在一起。 为了完整性,你可以做一个rebase (和cherry-pick选项一样吗?),但是我的理解是这会给这个贡献者造成混乱。 也许这消除了选项1。 在这两种情况下,git都会logging提交的分支历史logging,而不是1。 使用描述的cherry-pick或merge方法之间的专业和专业是什么? 我的理解是方法2是规范,但是我觉得用一个单一的“冲突”来解决一个大问题并不是最干净的解决scheme。

git cherry-pick说:“… 38c74d是一个合并,但没有-m选项被给出”

我在主分公司做了一些改变,想把这些东西带到上游。 当我樱桃挑选下面的提交但是我卡在fd9f578哪里git说: $ git cherry-pick fd9f578 fatal: Commit fd9f57850f6b94b7906e5bbe51a0d75bf638c74d is a merge but no -m option was given. git试图告诉我什么是樱桃select在这里使用的正确的东西? 主分支确实包含了在上游分支已经被修改的文件的改变,所以我确定会有一些合并冲突,但是这些并不是很难理顺。 我知道哪些更改需要在哪里。 这是我想要带到上游的承诺。 e7d4cff added some comments… 23e6d2a moved static strings… 44cc65a incorporated test … 40b83d5 whoops delete whitspace… 24f8a50 implemented global.c… 43651c3 cleaned up … 068b2fe cleaned up version.c … fd9f578 Merge branch 'master' of […]