Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Netbeans 如何正确地推送到具有更新版本号的存储库?_Netbeans_Mercurial_Meld - Fatal编程技术网

Netbeans 如何正确地推送到具有更新版本号的存储库?

Netbeans 如何正确地推送到具有更新版本号的存储库?,netbeans,mercurial,meld,Netbeans,Mercurial,Meld,请帮忙 我总是很难将更改推送到修订号较新的现有远程存储库。i、 e.在我最后一次拉动后,有人推送到了存储库 我使用的是ubuntu14.04,netbeans和mercurial和meld,我的项目是一个使用laravel框架的php应用程序 我目前的解决办法是 备份我的本地存储库 然后,在我的第一个本地存储库中,强制更新tip标记 使用第一个本地存储库获取远程存储库中的最新版本 拉取远程存储库中的最新版本(我不知道fetch和pull之间的区别,如果有人能提供一些信息,我将非常感激) 开放式熔

请帮忙

我总是很难将更改推送到修订号较新的现有远程存储库。i、 e.在我最后一次拉动后,有人推送到了存储库

我使用的是
ubuntu14.04
netbeans
mercurial
meld
,我的项目是一个使用laravel框架的php应用程序

我目前的解决办法是

  • 备份我的本地存储库
  • 然后,在我的第一个本地存储库中,强制更新
    tip
    标记
  • 使用第一个本地存储库获取远程存储库中的最新版本
  • 拉取远程存储库中的最新版本(我不知道fetch和pull之间的区别,如果有人能提供一些信息,我将非常感激)
  • 开放式熔化;比较两个存储库目录(第一个本地存储库和备份);记住哪些文件不同,然后
  • 在netbeans中,在两个目录中不同的每个文件中应用
    alt
    +
    shift
    +
    f
    (格式),这样我就可以删除不必要的空白,并且我可以很容易地看到更改(当我在meld中再次比较这两个目录时),具有适当的缩进和更清晰的换行符
  • 然后,打开meld,再次比较两个存储库目录,这一次,我可以很容易地理解执行的更改
  • 对每个存储库应用必要的更改,直到它们彼此相等为止(在这一步中,您必须非常小心,因为正在修改的是您的备份)
  • 提交第一个本地存储库的更改。其
    提示
    等于远程存储库中的最新版本
  • 然后,推送提交的更改
  • 我不想继续使用此解决方案,因为它还要求您有第二个备份存储库(换句话说,存储容量问题)。请帮我找到另一个解决办法

    如果我做了所有不同的事情,比如,首先,从远程存储库中提取最新的更改(由我的同事进行):我得到一个错误:

    abort: outstanding uncommitted changes
    
    如果我先按:错误是:

    abort: push creates new remote heads on branch 'default'!
    (did you forget to merge? use push -f to force)
    
    然后有时候,如果我使用终端拉,它需要我合并。当您无法控制要首先合并哪些文件时,很难在终端中进行合并(终端会按字母顺序为每个更改的文件打开meld比较工具)

    有时,您必须首先对每个文件应用“格式”,以便轻松理解所执行更改的目标


    但是如果您退出合并,它将假定您已成功合并了文件(或未合并?cmiw)。

    简而言之,Mercurial已经给了您提示。您可以随时拉入远程更改。但是,如果工作目录中有未提交的更改,则无法将它们与更改合并


    因此,只需提交(或者搁置它们,如果您还没有完成),进行合并,解决任何冲突,然后提交合并。然后您可以将所有内容推送到远程服务器。

    简言之,Mercurial已经给了您提示。您可以随时拉入远程更改。但是,如果工作目录中有未提交的更改,则无法将它们与更改合并

    因此,只需提交(或者搁置它们,如果您还没有完成),进行合并,解决任何冲突,然后提交合并。然后您可以将所有内容推送到远程服务器。

    aka。RTFM;)又称作RTFM;)