标签: merge

当前分支和主服务器之间的Git差异,但不包括未合并的主提交

我想要一个尚未合并到master的分支中的所有更改的差异.

我试过了:

git diff master
git diff branch..master
git diff branch...master
Run Code Online (Sandbox Code Playgroud)

但是,在每种情况下,diff都包含master中尚未合并到我的分支中的内容.

有没有办法在我的分支和主人之间做一个差异,排除了尚未合并到我的分支的主人的变化呢?

git version-control diff merge git-diff

147
推荐指数
4
解决办法
15万
查看次数

git-merge是否可以忽略行尾差异?

是否可以git merge忽略行尾差异?

也许我问的是错误的问题......但是:

我试过了,config.crlf input但事情变得有点乱,失控,特别是当我在事后应用它时.

首先,在应用此选项之前,在事实之后应用此配置似乎不会影响已提交到存储库的文件.另一件事是突然所有提交现在导致许多关于CRLF被转换为LF的恼人警告消息.

说实话,我真的不在乎使用什么行结尾,我个人更喜欢Unix风格\n,但无论如何.我所关心的只是为了git merge变得更聪明,而忽略了行尾的差异.

有时我有两个相同的文件,但是git会将它们标记为冲突(并且冲突是整个文件),因为它们使用不同的行结束字符.

更新:

我发现git diff接受一个--ignore-space-at-eol选项,是否也可以git merge使用此选项?

git merge git-svn line-endings eol

146
推荐指数
4
解决办法
7万
查看次数

合并:Hg/Git与SVN

我经常读到Hg(和Git和......)在合并方面比SVN更好但是我从未见过Hg/Git可以合并SVN失败的地方(或者SVN需要人工干预的地方)的实际例子.您可以发布一些分支/修改/提交/ ....-操作的逐步列表,显示SVN在Hg/Git愉快地移动时会失败的位置吗?实用,非常特殊的情况请...

一些背景:我们有几十个开发人员在使用SVN进行项目,每个项目(或一组类似项目)都在自己的存储库中.我们知道如何应用发布和功能分支,所以我们不会经常遇到问题(即,我们一直在那里,但我们已经学会克服Joel的问题 "一个程序员给整个团队造成创伤"或"需要六个开发人员两周才能重新整合分支机构").我们的发布分支非常稳定,仅用于应用错误修正.我们的中继线应该足够稳定,能够在一周内创建发布.我们还有一些开发人员或开发人员可以使用的功能分支.是的,它们在重新集成后被删除,因此它们不会使存储库混乱.;)

所以我仍然试图找到Hg/Git优于SVN的优势.我很想获得一些实践经验,但目前还没有任何我们可以移动到汞/ GIT中还没有更大的项目,所以我坚持用只含有少量由文件小型人工玩的项目.而且我正在寻找一些你可以感受到Hg/Git令人印象深刻的力量的案例,因为到目前为止我经常读到它们但却未能自己找到它们.

svn git merge mercurial dvcs

143
推荐指数
5
解决办法
2万
查看次数

如何合并2 List <T>并删除C#中的重复值

我有两个列表列表,我需要组合并删除两个列表的重复值

有点难以解释,所以让我展示代码的样子,以及我想要的结果,在示例中我使用int类型而不是ResultAnalysisFileSql类.

first_list = [1,12,12,5]

second_list = [12,5,7,9,1]

组合这两个列表的结果应该产生这个列表:resul_list = [1,12,5,7,9]

你会注意到结果有第一个列表,包括它的两个"12"值,而在second_list中有一个额外的12,1和5值.

ResultAnalysisFileSql类

[Serializable]
    public partial class ResultAnalysisFileSql
    {
        public string FileSql { get; set; }

        public string PathFileSql { get; set; }

        public List<ErrorAnalysisSql> Errors { get; set; }

        public List<WarningAnalysisSql> Warnings{ get; set; }

        public ResultAnalysisFileSql()
        {

        }

        public ResultAnalysisFileSql(string fileSql)
        {
            if (string.IsNullOrEmpty(fileSql)
                || fileSql.Trim().Length == 0)
            {
                throw new ArgumentNullException("fileSql", "fileSql is null");
            }

            if (!fileSql.EndsWith(Utility.ExtensionFicherosErrorYWarning))
            {
                throw new ArgumentOutOfRangeException("fileSql", "Ruta de fichero Sql no tiene …
Run Code Online (Sandbox Code Playgroud)

c# merge list duplicates

142
推荐指数
5
解决办法
13万
查看次数

通过拉取请求撤消合并?

有人接受了他们不应该提出的拉动请求.现在我们已经合并了一堆破碎的代码.你如何撤消拉取请求?我只是要在合并之前将更改还原到提交,但我注意到它在一堆提交中合并.所以现在在合并之前几天就有来自这个人的所有这些提交.你怎么撤消这个?

git merge github pull-request

139
推荐指数
5
解决办法
15万
查看次数

删除不必要的svn:mergeinfo属性

当我在我的存储库中合并东西时,Subversion想要将大量svn:mergeinfo属性添加/更改为与我想要合并的内容完全无关的文件.

有关此行为的问题之前已在Stack Overflow上提出过:

根据我从上面提到的主题中理解,看起来我的存储库中的很多文件都有明确的svn:mergeinfo属性,当它们不应该时.建议是减少金额,只将这些属性放在相关的文件/文件夹上.

所以现在我的问题是:如何轻松删除那些不需要的属性?我正在使用TortoiseSVN,但我不愿意手动检查/修复数百个文件.有没有更简单的方法来删除这些不必要的svn:mergeinfo属性?

PS我不是在寻找C++ SVN API代码.

svn tortoisesvn merge svn-mergeinfo

136
推荐指数
4
解决办法
6万
查看次数

git-svn在git中合并后会发生dcommit吗?

我尝试git-svn的动机是毫不费力的合并和分支.然后我注意到男人git-svn(1)说:

不建议在您计划提交的分支上运行git-merge或git-pull.Subversion不以任何合理或有用的方式表示合并; 因此使用Subversion的用户无法看到您所做的任何合并.此外,如果您从作为SVN分支镜像的git分支合并或拉出,则dcommit可能会提交到错误的分支.

这是否意味着我无法从svn/trunk(或分支)创建本地分支,破解,合并回svn/trunk,然后dcommit?我知道svn用户会看到同样的混乱,在svn pre 1.5.x中一直是合并,但是还有其他缺点吗?最后一句也让我担心.人们经常做这些事吗?

svn git merge branch git-svn

133
推荐指数
6
解决办法
4万
查看次数

如何在合并的更改之上重新定义当前分支的更改?

好的.如果我在一个分支上(比方说working),并且我希望合并来自另一个分支的更改(比方说master),那么我git-merge masterworking分支上运行命令,并且更改将合并而不会重新定义历史记录.如果我运行git-rebase master,那么更改master将被重新放置在我的working分支的顶部.但是,如果我想合并更改master但是将我的更改working重新组合在一起,该怎么办?我怎么做?可以吗?

我可以git-rebase working在我的master分支上运行以将我的更改放在master分支的顶部,但我希望能够在我的working分支中执行此操作,而我不知道如何.我能想到的最接近的是创建一个新的分支master,然后working在其上更改rebase 的变化,但之后我会有一个新的分支而不是改变working分支.

git merge rebase git-rebase

131
推荐指数
3
解决办法
15万
查看次数

使用TortoiseSVN如何将更改从主干合并到分支,反之亦然?

我一直在阅读Subversion 1.5的分支/合并,使用优秀的免费版本控制和Subversion一书.我想我了解如何使用Subversion命令行客户端来执行我最常需要的操作,它们是:

使用Trunk中的更改更新分支

从分支的工作目录运行:

svn merge http://svn.myurl.com/proj/trunk

将分支合并到主干

从trunk的工作目录运行:

svn merge --reintegrate http://svn.myurl.com/proj/branches/mybranch

但是,我们使用TortoiseSVN 1.5作为Subversion的接口.我想知道如何最好地使用TortoiseSVN执行这些操作.新对话框在主菜单上提供三个不同的选项.

  1. 合并一系列修订
  2. 重新整合分支
  3. 合并两棵不同的树

根据我的收集,TortoiseSVN总是使用以下语法执行svn.

svn merge [--dry-run] --force From_URL @ revN To_URL @ revM PATH

此外,重新集成分支通常会失败并显示一条消息,指出某些目标尚未合并,因此无法继续,因此我不得不使用选项#3.

我的问题是:

  1. 如何使用TortoiseSVN 1.5将更改从主干合并到分支?
  2. 我是如何使用TortoiseSVN 1.5将分支合并到主干,有和没有reintegrate方法?
  3. 我应该为每个选项使用以上哪个选项,为什么?

编辑

通过"干运行"测试我发现命令行是Subversion操作

svn merge http://svn.myurl.com/proj/trunk

类似于TortoiseSVN中的选项#1(合并一系列修订版),只要我将修订范围留空.

svn tortoisesvn merge branch

130
推荐指数
3
解决办法
10万
查看次数

在git中解决'两者都添加'的合并冲突?

我在git中变基础,我得到的一个冲突是"两个都添加" - 也就是说,在我的分支中已经独立添加了完全相同的文件名,并且在分支中我正在重新定位. git status告诉我:

# Unmerged paths:
#   (use "git reset HEAD <file>..." to unstage)
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#       both added:         src/MyFile.cs
Run Code Online (Sandbox Code Playgroud)

我的问题是,我该如何解决这个问题?我必须使用合并工具还是只能从命令行执行此操作?如果我git rm src/MyFile.cs,git如何知道我要删除哪个文件版本以及我想保留哪个文件?

git merge rebase

129
推荐指数
3
解决办法
6万
查看次数