首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修复git合并分支到主分支的冲突

修复git合并分支到主分支的冲突
EN

Stack Overflow用户
提问于 2012-08-07 15:41:16
回答 4查看 1.6K关注 0票数 0

如何将此分支合并到master?

代码语言:javascript
复制
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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-08-09 16:49:05

合并按照通告的方式工作,但仅在删除主分支之后:

代码语言:javascript
复制
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$ 

合并之所以起作用,是因为我首先删除了主分支,这看起来有点极端,但就是这样。否则,我不确定如何修复冲突,而不是像手册中建议的那样,编辑文件以使它们匹配。我只是不理解合并的要点,如果你首先必须手动编辑一些东西,使它们与不同的分支相匹配,似乎应该有关于这一点的提示,而不是错误消息。

但前提条件是您不能在github上使用push origin :master删除主分支,除非首先更改默认分支,否则很容易。我发现有点糟糕的是,合并并不总是自动合并的,有时还会反驳说有冲突。我不明白为什么merge不能返回一个咨询,然后问“你确定吗?”然后不管怎样合并。无论如何,我学到了一点关于git的知识,特别是如何删除分支。

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

票数 0
EN

Stack Overflow用户

发布于 2012-08-07 15:44:57

代码语言:javascript
复制
git checkout master
git merge GUI_loading_messages_slowly
git commit
git push
票数 2
EN

Stack Overflow用户

发布于 2012-08-07 15:44:52

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11841337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档