当我在Git中合并一个分支来掌握时,我经常会遇到合并冲突.有没有办法合并一个分支,只是覆盖当前分支中的东西?
我有一个包含多个Python项目的整个存储库的工作副本.当我选择右键单击 - > Windows文件资源管理器中的SVN更新时,我收到一条错误消息,列出了一个特定的项目文件夹:
Command: Update
Updating: path\to\working\copy
Skipped obstructing working copy: path\to\working\copy\project
Completed: At revision: 176
Warning!: One or more files are in a conflicted state.
Run Code Online (Sandbox Code Playgroud)
当我进入该项目并右键单击 - > SVN Update时,它会成功更新.也有不冲突编辑器中可用,当我右击 - > TortoiseSVN的 - >解决,目前没有可用的文件.
什么可能导致冲突?只要这种情况不断发生,就无法在我的工作副本中更新此项目.
我已经开始Eclipse EGit了.在某些情况下,它真的不全面.
我有本地文件,例如pom.xml已更改.在git服务器上,此文件已更改.我这样做pull
,EGIt说:
结帐与文件冲突:
即拉动停止(fetch
已完成但未完成merge
),即可.然而接下来是不好的经历.
我同步工作区,将我的更改放在一边,使其与FETCH_HEAD相同.但是EGit不想继续.我用HEAD修订版替换文件.但是EGit仍然不想继续.
在冲突解决后,EGit应该使用什么标准的用户操作?
更新:
我added to index
,然后marked as Merged
- > pull
仍然无法通过.
当我选择时,Merge
我得到了对话框
我无法提交该文件,因为它不在更改的文件列表中.
合并分支时,我有大约12个文件冲突.我手动修复了所有冲突并暂存了文件.但是现在当我尝试提交时,它说其中一个文件是未合并的.
U app/models/disclosure_event.rb
fatal: 'commit' is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>' as
appropriate to mark resolution and make a commit, or use 'git commit -a'.
Run Code Online (Sandbox Code Playgroud)
当我输入时git status
,它会显示所有已更改的文件,包括"disclosure_event.rb" Changes to be committed
.它显示没有未分段的文件.我一再尝试添加该文件,但似乎什么也没做.如果我打开文件,一切看起来都很棒.
有任何想法吗?我完全卡住了.
我试图将上游更改合并到我的分支中时遇到冲突,我不知道如何解决它们.
我创建了自己的fork.我克隆了它.我对我的分支,承诺和推送的分支进行了更改.但后来主叉更新了,我尝试通过合并上游来更新我自己的fork:
$ cd repo-name
$ git remote add upstream git://github.com/username/repo-name.git
$ git fetch upstream
$ git merge upstream/master
Run Code Online (Sandbox Code Playgroud)
合并说文件存在一些问题,自动合并不起作用.它告诉我自己修复并重新合并.所以我实际上去了主叉的GitHub上的(上游)存储库,并将新文件的所有代码复制到我的fork上的文件中,并尝试再次合并.然后,git给了我这个错误:
致命:'merge'是不可能的,因为你有未合并的文件.请在工作树中修复它们,然后根据需要使用'git add/rm'标记解析并进行提交,或使用'git commit -a'.
我有什么争论吗?我做了些蠢事吗?"未合并的文件"是什么意思?合并文件的合并不是全部吗?在合并之前,我是否必须提交更改?
在构建具有许多依赖项的maven项目时,其中一些依赖项依赖于同一个库,但使用的是运行应用程序时导致错误的不同版本.
例如,如果我添加两个不同的项目依赖项,A和B都依赖于apache commons http客户端但每个都在不同的版本上,一旦类加载器加载A的apache commons http客户端类,B将尝试使用它们它们已经被类加载器加载了.
但是B的字节码取决于加载类的不同版本,在运行应用程序时会导致多个问题.一个常见的方法是methodnotfound异常(因为A的http客户端版本不再使用特定的方法).
为避免此类冲突而建立的一般策略是什么?是否必须手动检查依赖关系树以确定哪些公共库彼此相互关联?
合并失败后有一些冲突,我可以列出那些git diff
,但git difftool
不会显示配置中的difftool设置(在我的情况下是Kaleidoscope),而是只使用普通的差异.
一个git difftool
与以前相比将提交工作.
有没有办法在合并冲突上使用git difftool?
迎接Jan
假设我在2个不同的命名空间中有2个字符串扩展方法:
namespace test1
{
public static class MyExtensions
{
public static int TestMethod(this String str)
{
return 1;
}
}
}
namespace test2
{
public static class MyExtensions2
{
public static int TestMethod(this String str)
{
return 2;
}
}
}
Run Code Online (Sandbox Code Playgroud)
例如,这些方法实际上并没有做任何事情.
现在让我们考虑一下这段代码:
using System;
using test1;
using test2;
namespace blah {
public static class Blah {
public Blah() {
string a = "test";
int i = a.TestMethod(); //Which one is chosen ?
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题:
我知道只会选择一种扩展方法.
会是哪一个?为什么? …
我使用Mercurial 1.0.2进行合并冲突:
merging test.h
warning: conflicts during merge.
merging test.h failed!
6 files updated, 0 files merged, 0 files removed, 1 files unresolved
There are unresolved merges, you can redo the full merge using:
hg update -C 19
hg merge 18
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何解决这个问题.Google搜索结果指示使用:
hg resolve
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,我的Mercurial(v1.0.2)没有解析命令:
hg: unknown command 'resolve'
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个冲突?
我想安装这两个包:
但作曲家说,他们每个人都依赖于这个包的不同版本:
问题1
Run Code Online (Sandbox Code Playgroud)- Installation request for anahkiasen/former dev-master -> satisfiable by anahkiasen/former[dev-master]. - Can only install one of: anahkiasen/html-object[dev-master, 1.1.2]. - vespakoen/menu dev-master requires anahkiasen/html-object 1.1.2 -> satisfiable by anahkiasen/html-object[1.1.2]. - anahkiasen/former dev-master requires anahkiasen/html-object dev-master -> satisfiable by anahkiasen/html-object[dev-master]. - Installation request for vespakoen/menu dev-master -> satisfiable by vespakoen/menu[dev-master].
我该如何解决?
conflict ×10
git ×5
merge ×5
c# ×1
commit ×1
composer-php ×1
config ×1
dependencies ×1
diff ×1
dvcs ×1
eclipse ×1
egit ×1
java ×1
maven ×1
mercurial ×1
methods ×1
namespaces ×1
partial ×1
svn ×1
tortoisesvn ×1