【问题标题】:GITHUB Conflict ResolvingGITHUB 冲突解决
【发布时间】:2012-10-24 00:36:48
【问题描述】:

我是 github 的新手,开始使用 GITHUB for WINDOWS 选择的私有存储库并与我的同事共享。

现在我们遇到了一个问题,不知道如何解决。我们尝试了谷歌,但没有用。

我自己和一位同事同时处理同一个文件,他在我之前承诺。我想知道他所做的更改,我想将他的更改与我的本地文件合并,最后想提交我的版本。 GITHUB 是否可以在 Windows 上使用 GITHUB?我以前用 Tortoise SVN 做过同样的事情

我打开 shell 命令提示符并尝试了类似

  $ git diff

但它只显示差异,不建议我将本地版本与分阶段版本合并..

【问题讨论】:

    标签: git github-for-windows


    【解决方案1】:

    如果您按下sync 按钮,您将提取您的朋友所做的更改并在线推送。如果更改没有完全合并,则会提示您发生了冲突。这会将冲突行添加到您必须去解决它们的文件中。之后,您只需提交更改即可。

    冲突的行应该出现在 Github for Windows 界面中(虽然我不是 100% 确定,但我实际上更喜欢通过命令行解决冲突)。

    通过命令行,你必须这样输入命令:

    git pull
    # If merge conflict, you'll be prompt to resolve them, git will list conflicted files
    # Open those files in you editor and resolve conflicts. Line will be marked in the files.
    # When all is resolved :
    git add -A
    git commit
    # No need to enter a message, git will automatically fill the message with
    # merge conflict specific information
    git push
    

    在您的文件中,冲突标记将如下所示:

    <<<<<<<<<<< [sha-1 of the commit]
    function() {
    ==================
    function( hey ) {
    HEAD>>>>>>>>>>>>>
    

    【讨论】:

    • 对于这种情况,我建议git add -u 而不是git add -A(或者更好,git commit -a)。只有一个感兴趣的文件似乎已经在存储库中。
    • 你是我的英雄。为什么我在网上的任何地方都找不到这个!
    【解决方案2】:

    就我而言,只是在尝试同步下一个提交之前,我忽略了同步上一个提交。

    无需解决冲突。

    我还发现有趣的是所有差异块

    <<<<<<<<<<<<<<<<<...
    ...
    ======================
    ...
    HEAD>>>>>>>>>>>>>>
    

    实际上是放在你的源代码中的。只需在文本编辑器中打开冲突文件并保留/删除所需的分支。

    【讨论】:

      猜你喜欢
      • 2012-01-09
      • 2015-05-07
      • 1970-01-01
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      • 2021-10-24
      • 2020-02-18
      • 1970-01-01
      相关资源
      最近更新 更多