【问题标题】:fix conflicts for git merge branch to master修复 git 合并分支到 master 的冲突
【发布时间】:2012-08-04 04:40:27
【问题描述】:

如何将此分支合并到master?

thufir@dur:~/NetBeansProjects$ 
thufir@dur:~/NetBeansProjects$ git clone -b 4.GUI_loading_messages_slowly git@github.com:THUFIR/USENET.git
Cloning into USENET...
remote: Counting objects: 3782, done.
remote: Compressing objects: 100% (1274/1274), done.
remote: Total 3782 (delta 1647), reused 3613 (delta 1478)
Receiving objects: 100% (3782/3782), 388.55 KiB | 100 KiB/s, done.
Resolving deltas: 100% (1647/1647), done.
thufir@dur:~/NetBeansProjects$ 
thufir@dur:~/NetBeansProjects$ cd USENET
thufir@dur:~/NetBeansProjects/USENET$ 
thufir@dur:~/NetBeansProjects/USENET$ git branch -a
* 4.GUI_loading_messages_slowly
  remotes/origin/1.FetchBean_CLI
  remotes/origin/2.some_GUI
  remotes/origin/3.messageId__string
  remotes/origin/4.GUI_loading_messages_slowly
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
thufir@dur:~/NetBeansProjects/USENET$ 
thufir@dur:~/NetBeansProjects/USENET$ git checkout -b master remotes/origin/master
Branch master set up to track remote branch master from origin.
Switched to a new branch 'master'
thufir@dur:~/NetBeansProjects/USENET$ 
thufir@dur:~/NetBeansProjects/USENET$ git branch
  4.GUI_loading_messages_slowly
* master
thufir@dur:~/NetBeansProjects/USENET$ 
thufir@dur:~/NetBeansProjects/USENET$ git diff master 4.GUI_loading_messages_slowly 
diff --git a/src/META-INF/persistence.xml b/src/META-INF/persistence.xml
index 252f563..3cebe3d 100644
--- a/src/META-INF/persistence.xml
+++ b/src/META-INF/persistence.xml
@@ -2,8 +2,8 @@
 <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http:/
   <persistence-unit name="USENETPU" transaction-type="RESOURCE_LOCAL">
     <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
-    <class>net.bounceme.dur.usenet.database.Article</class>
-    <class>net.bounceme.dur.usenet.database.Headers</class>
+    <class>net.bounceme.dur.usenet.model.Article</class>
+    <class>net.bounceme.dur.usenet.model.Newsgroup</class>
     <properties>
       <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/usenet
       <property name="javax.persistence.jdbc.password" value="password"/>
diff --git a/src/net/bounceme/dur/usenet/controller/ArticleNewsgroup.java b/src/net/bounceme
index b65737a..a9fadd2 100644
--- a/src/net/bounceme/dur/usenet/controller/ArticleNewsgroup.java
+++ b/src/net/bounceme/dur/usenet/controller/ArticleNewsgroup.java
@@ -5,8 +5,8 @@ import java.util.logging.Level;
 import java.util.logging.Logger;
 import javax.mail.Message;
 import javax.mail.MessagingException;
-import net.bounceme.dur.usenet.database.Article;
-import net.bounceme.dur.usenet.database.Headers;
+import net.bounceme.dur.usenet.model.Article;
+import net.bounceme.dur.usenet.model.Newsgroup;
 import net.bounceme.dur.usenet.model.Usenet;

thufir@dur:~/NetBeansProjects/USENET$ 
thufir@dur:~/NetBeansProjects/USENET$ git merge 4.GUI_loading_messages_slowly 
Auto-merging src/net/bounceme/dur/usenet/controller/Page.java
CONFLICT (content): Merge conflict in src/net/bounceme/dur/usenet/controller/Page.java
Auto-merging src/net/bounceme/dur/usenet/database/DatabaseUtils.java
CONFLICT (content): Merge conflict in src/net/bounceme/dur/usenet/database/DatabaseUtils.java
Auto-merging src/net/bounceme/dur/usenet/model/Usenet.java
CONFLICT (content): Merge conflict in src/net/bounceme/dur/usenet/model/Usenet.java
Automatic merge failed; fix conflicts and then commit the result.
thufir@dur:~/NetBeansProjects/USENET$ 
thufir@dur:~/NetBeansProjects/USENET$ 

我并不是想“修复”冲突,而是简单地将 master 替换为分支。也许rebase

【问题讨论】:

  • git merge --abort 然后再次尝试结帐。
  • @Christopher 我再次克隆了存储库,以确保我正在处理 github 上的内容。我正在考虑类似deleting master 的东西,或者类似结果的东西。

标签: git version-control github merge branch


【解决方案1】:
git checkout master
git merge GUI_loading_messages_slowly
git commit
git push

【讨论】:

  • 合并后,git给出already up to date,然后推送结果没有任何改变。
【解决方案2】:

您总是切换到要修改的分支。因此,首先检查 master 是否适合您的情况。 如果您的合并出错,您可以使用 git reset “撤消”您的合并。

【讨论】:

  • 没有投反对票,但对我来说,这个答案也有点不完整。你只说“结帐大师”,不是吗?
  • 我认为他最初询问是否正确结帐 master 然后合并分支而不是相反。但你是对的,我本可以添加更多信息。感谢您的提示。
  • 我最初确实问过这个问题,所以这确实回答了这个问题,就目前而言。只有当我尝试提交和推动时出现问题。我要求确认我阅读的教程。
【解决方案3】:

切换到你想要合并的分支并输入。

git merge branchname

但您应该首先阅读基础知识和文档。

Tutorials

【讨论】:

    【解决方案4】:

    合并按照宣传的方式进行,但仅在删除主分支之后:

    thufir@dur:~/NetBeansProjects$ 
    thufir@dur:~/NetBeansProjects$ git clone git@github.com:THUFIR/usenet.git
    Cloning into usenet...
    remote: Counting objects: 3750, done.
    remote: Compressing objects: 100% (1263/1263), done.
    remote: Total 3750 (delta 1630), reused 3585 (delta 1465)
    Receiving objects: 100% (3750/3750), 385.93 KiB | 85 KiB/s, done.
    Resolving deltas: 100% (1630/1630), done.
    thufir@dur:~/NetBeansProjects$ 
    thufir@dur:~/NetBeansProjects$ cd usenet/
    thufir@dur:~/NetBeansProjects/usenet$ 
    thufir@dur:~/NetBeansProjects/usenet$ git branch -a
    * 4.GUI_loading_messages_slowly
      remotes/origin/1.FetchBean_CLI
      remotes/origin/2.some_GUI
      remotes/origin/3.messageId__string
      remotes/origin/4.GUI_loading_messages_slowly
      remotes/origin/HEAD -> origin/4.GUI_loading_messages_slowly
    thufir@dur:~/NetBeansProjects/usenet$ 
    thufir@dur:~/NetBeansProjects/usenet$ git branch master
    thufir@dur:~/NetBeansProjects/usenet$ 
    thufir@dur:~/NetBeansProjects/usenet$ git branch
    * 4.GUI_loading_messages_slowly
      master
    thufir@dur:~/NetBeansProjects/usenet$ 
    thufir@dur:~/NetBeansProjects/usenet$ git checkout master
    Switched to branch 'master'
    thufir@dur:~/NetBeansProjects/usenet$ 
    thufir@dur:~/NetBeansProjects/usenet$ git branch
      4.GUI_loading_messages_slowly
    * master
    thufir@dur:~/NetBeansProjects/usenet$ git branch -a
      4.GUI_loading_messages_slowly
    * master
      remotes/origin/1.FetchBean_CLI
      remotes/origin/2.some_GUI
      remotes/origin/3.messageId__string
      remotes/origin/4.GUI_loading_messages_slowly
      remotes/origin/HEAD -> origin/4.GUI_loading_messages_slowly
    thufir@dur:~/NetBeansProjects/usenet$ 
    thufir@dur:~/NetBeansProjects/usenet$ git merge 4.GUI_loading_messages_slowly 
    Already up-to-date.
    thufir@dur:~/NetBeansProjects/usenet$ 
    thufir@dur:~/NetBeansProjects/usenet$ git push origin master
    Total 0 (delta 0), reused 0 (delta 0)
    To git@github.com:THUFIR/usenet.git
     * [new branch]      master -> master
    thufir@dur:~/NetBeansProjects/usenet$ 
    

    合并只是因为我首先删除了 master 分支,这似乎有点极端,但你就是这样。否则,我不确定如何解决冲突,而无需按照精美手册的建议编辑文件以使其匹配。如果您首先必须手动编辑内容以使其与不同的分支匹配,我只是不明白合并的意义,似乎应该有一个提示,而不是错误消息。

    附带条件是,如果不先更改默认分支,就不能在 github 上使用 push origin :master 删除 master 分支,这很容易。我发现合并并不总是自动合并,有时会抱怨存在冲突,这有点令人恼火。我不明白为什么合并不能返回咨询,然后问“你确定吗?”然后无论如何合并。无论如何,我学到了一点关于 git 的知识,特别是如何删除一个分支。

    我不明白Already up-to-date.的意思,我的意思是,github上的origin肯定不是最新的,所以我想知道怎么了最新的。大概本地副本现在是最新的,但为什么它“已经”是最新的?

    【讨论】:

    • 修复冲突并不意味着“编辑事物以匹配不同的分支”。发生冲突是因为您尝试合并的分支对同一组行有不同的更改。假设一个分支将名为foo() 的方法更改为bar(),另一个分支将其更改为baz()。哪个是对的? Git 无法读懂你的想法。您必须手动纠正冲突。
    猜你喜欢
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 2016-04-30
    • 1970-01-01
    • 2014-02-14
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多