将DEV分支的提交工作流应用于STAGING分支

时间:2017-02-10 09:11:40

标签: git github

我是git的新手,我的问题听起来很容易,我正在处理远程 $stmt = $mysqli->prepare('SELECT heading, subheading, description, created, author FROM rock_news WHERE field1 = ? AND field2 = ? AND field3 = ? AND field4 = ? AND field5 = ? AND field5 = ?'); $stmt->bind_param('ssssss', $value, $value2, $value3, $value4, $value5, $value6); $stmt->execute(); $meta = $stmt->result_metadata(); while ($field = $meta->fetch_field()) { $parameters[] = &$row[$field->name]; }; call_user_func_array(array($stmt, 'bind_result'), $parameters); while ($stmt->fetch()) { foreach($row as $key => $val) { $x[$key] = $val; } $results[] = $x; }; 分支,我推了很多提交,现在我想将所有这些提交复制到DEV分支。 我在STAGINGmerging之间感到困惑... 下面是我的本地和远程分支列表,我签出了分段,然后从开发中删除但没有工作。 也许我错过了正确的分支名称。

cherrypicking
  

错误:最后一次gc运行报告了以下内容。请更正根   导致并删除.git / gc.log。不会执行自动清理   直到文件被删除。

     

警告:有太多无法到达的松散物体;跑'git prune'   删除它们。

     

已经是最新的。

enter image description here

2 个答案:

答案 0 :(得分:1)

只需将DEV分支合并到STAGING分支。

$ git checkout STAGING
$ git pull origin DEV

$ git push origin HEAD      # push to remote STAGING
  

错误:最后一次gc运行报告了以下内容。请更正根本原因并删除.git / gc.log

解决错误Cleanup不必要的文件和Optimized本地存储库。

$ rm .git/gc.log
$ git gc
$ git fetch -p
$ git prune remote origin 

答案 1 :(得分:0)

你可以{@ 1}} @sajib khan说,但你应该知道,如果两个分支分歧,它可能会创建一个新的提交。

如果您只需要在不保存合并操作的情况下更新merge,您应该知道存在STAGING功能,该功能会将提交从一个分支复制到另一个分支,而不会发明新的提交。这大部分时间都比较方便。但是,既然你是git的新手,那么你应该坚持使用第一个选项,这个选项更容易并且可以满足您的需求。

通过使用rebase,您要求cherry-pick根据另一个提交的代码“创建”新提交。这意味着它实际上是一个新的提交,因为它是一个不同的哈希,创建日期......创建的提交和原始提交之间唯一的相似之处是代码git-cherry-pick - Apply the changes introduced by some existing commits