小编ade*_*r11的帖子

git单个开发人员w /多台机器 - rebase和commits出现两次

一些背景:

  1. 我是一个在一个站点上工作的开发人员.
  2. 我正在使用git进行版本控制.
  3. 我有多台计算机可供使用:办公室,家庭和笔记本电脑

目前,我的服务器上有一个中央裸存储库.每台计算机都会克隆并将更改推送到此存储库.我目前有分公司和分公司开发.所有工作都在dev分支中完成.Master始终是当前稳定的生产代码.可以随时将更改应用于Master以及dev中正在进行的更改.

我的日常工作流程包括:

git checkout dev
//pull in changes from remote
git pull
//make and commit changes as need throughout the day
git add -u
git commit
//these steps only happens when I know master has changed
git checkout master
git pull
git checkout dev
git rebase master //to get changes to master into dev branch
//push changes to central remote at end of day
git push
Run Code Online (Sandbox Code Playgroud)

我相信这应该是单个开发人员的一个相当标准的工作流程.

现在把所有这些都放在我的问题的目的.我最近遇到了一种情况,我不确定如何正确处理以及如何在将来防止它.目前,我的dev分支是一个长期运行的dev分支,它是对网站的一部分进行重大改写.因此,它已经开发了几个月.虽然我一直在做这项工作,但我也一直在对Master进行小修改/错误修复.当我完成对Master的一个更改时,我将dev重新设置为Master来获取更改,然后将它们推送到中央仓库.这一直很好.

但是,我几天前改变了Master - 大约一个月内的第一次这样的改变.当我去修炼时,所有地狱似乎都松了一口气.我在Master中不存在的文件上遇到合并冲突,我在同一个文件中反复出现相同的冲突.在花了一天的大部分时间试图解决所有冲突之后,我终于放弃了.

今天早上,我再次尝试,但在我开始之前,我检查了项目提交历史,发现了一些奇怪的东西.我发现大约有15个提交被重复了.它显示了从2012年12月7日至2012年8月24日的所有提交.然后,我再次列出了相同的提交,所有提交都使用不同的SHA哈希.我没有注意到它,直到我看到提交的日期按照你期望的时间顺序列出,但随后又突然又重新回到了过去.

为了解决我做了另一个rebase,但跳过了重复的提交.当我这样做时,一切都按照我的预期完成,没有任何冲突.

所以,我向你们提出的问题是,这些提交是如何完成两次的,我怎样才能防止这场噩梦再次发生呢?正如问题的标题所示,我认为问题与我使用rebaseing和推动重新分支有关.但我真的只是猜测那里.我只是需要一些帮助来弄清楚我做错了什么.

git git-rebase

6
推荐指数
1
解决办法
691
查看次数

从套接字读取PHP Mongo错误

最近几天,我的错误日志已经填充了这个错误:

send_package: error reading from socket: The socket is closed
Run Code Online (Sandbox Code Playgroud)

我真的不知道这是从哪里来的.看起来我的MongoDB服务器没有打开TCP套接字,但我真的只是在猜测.

有谁见过这个错误或知道如何处理它?

生成错误的行是:

$mongo = new Mongo("mongodb://user:pwd@host/db",array('timeout'=>6000));
Run Code Online (Sandbox Code Playgroud)

我偶尔也会从Pimple DIC中进入:

    class HurstDI extends \Pimple
    {
        public function __construct(){
            $this['mongoUser'] = 'user';
            $this['mongoPwd'] = 'pwd';
            $this['mongoHost'] = "host/db";
            $this['mongoTimeout'] = 6000;
            $this['mongodb'] = function($c){
            return new \MongoClient("mongodb://{$c['mongoUser']}:{$c['mongoPwd']}@{$c['mongoHost']}");
        };
    }
    }
Run Code Online (Sandbox Code Playgroud)

php mongodb

4
推荐指数
1
解决办法
3540
查看次数

标签 统计

git ×1

git-rebase ×1

mongodb ×1

php ×1