相关疑难解决方法(0)

是否有"他们的"版本的"git merge -s ours"?

当使用主题分支"B"合并到"A"时git merge,我会遇到一些冲突.我知道使用"B"中的版本可以解决所有冲突.

我知道git merge -s ours.但我想要的是类似的东西git merge -s theirs.

它为什么不存在?在与现有git命令冲突合并后,如何获得相同的结果?(git checkout来自B的每个未合并文件)

更新:从分支A(合并提交点到树的B版本)丢弃任何东西的"解决方案"不是我想要的.

git git-merge

818
推荐指数
11
解决办法
43万
查看次数

Git中的分支描述

在Git中有没有办法对分支进行"描述"?

当我尝试使用描述性名称时,在一个分支上工作一段时间有时会使我记忆为什么我做了一些其他主题分支.我尝试为分支使用描述性名称,但我认为"描述"(关于分支目的的简短说明)会很好.

git branch task-tracking

263
推荐指数
9
解决办法
5万
查看次数

git rebase,跟踪'本地'和'远程'

在进行git rebase时,我常常难以解决在解决冲突时"本地"和"远程"发生的事情.我有时会产生这样的印象:他们将一方提交交换到另一方提交.

这可能(肯定)因为我还没有正确理解.

变基础时,谁是'本地',谁是'偏远'?

(我使用P4Merge解决冲突)

git conflict rebase

161
推荐指数
2
解决办法
3万
查看次数

在单个仓库中,每个目录可以有额外的.gitignore吗?

您是否可以在仅适用于该目录中的文件(和目录)的目录中创建.gitignore文件?

git version-control repository gitignore

109
推荐指数
2
解决办法
4万
查看次数

为什么"我们的"和"他们的"的含义与git-svn相反

我使用git-svn并且我注意到当我必须在执行a之后修复合并冲突时,例如和的选项git svn rebase的含义是相反的.也就是说,如果存在冲突并且我想保留来自SVN服务器的版本并丢弃我在本地进行的更改,我必须使用,当我期望它.--ours--theirsgit checkoutourstheirs

这是为什么?

例:

mkdir test
cd test
svnadmin create svnrepo
svn co file://$PWD/svnrepo svnwc
cd svnwc
echo foo > test.txt
svn add test.txt
svn ci -m 'svn commit 1'
cd ..
git svn clone file://$PWD/svnrepo gitwc
cd svnwc
echo bar > test.txt 
svn ci -m 'svn commit 2'
cd ..
cd gitwc
echo baz > test.txt 
git commit -a -m 'git commit 1'
git svn rebase

git checkout --ours test.txt …
Run Code Online (Sandbox Code Playgroud)

git git-svn

89
推荐指数
1
解决办法
3万
查看次数

Git - 如何在所选文件上强制合并冲突和手动合并

我们维护具有通用主分支和多个并行分支的Web应用程序,每个安装一个,每个都没有特定的更改.源代码在git中管理,当我们需要从主分支到并行分支的传输功能和错误修正时,它是非常好的工具.但是很少有敏感的文件和自动合并通常会产生不好的结果.因此,如果它们可以某种方式标记并且每次合并都会导致需要手动合并的冲突,那么合并会更容易.

我搜索了一个答案:

  1. 我使用--no-commit--no-ff合并选项,但它不一样.
  2. 这里这里有人问同样的问题,但没有解决方案.
  3. 类似的情况似乎是如何防止文件被合并使用.gitattributes包含:somefile.php merge = ours.我试图找到一些合并选项,它会产生冲突或强制手动合并但到目前为止没有找到.
  4. .gitattributes包含:somefile.php -merge永远不会自动合并,因此强制手动合并.它是90%的解决方案,但我所寻求的是尝试自动合并并将其标记为冲突,无论它是否成功.但这是迄今为止最接近解决方案的. (...感谢Charles Bailey的澄清......)
  5. 有人建议编写自定义合并驱动程序(1,2),但如何做到这一点还远未清晰.

编辑:变种4.描述

git merge branch conflict manual

79
推荐指数
1
解决办法
3万
查看次数

Git:在合并期间忽略一些文件(将一些文件限制为一个分支)

我有两个分支,AB.科A有一个目录examples与被跟踪的git一些文件,这些文件应该不会出现分支B.在我的工作流程,我不合并作出改变AB经常,每次这是一个问题,有一些变化examples.目前我手动执行此操作:在合并后删除文件或解决当我已经删除的文件发生更改时的冲突.

合并期间是否可以忽略这些文件?(或者是否可以将某些文件限制为一个分支(A)或远离一个分支(B)?)


让我试着解释一下为什么我这样做: A是博客的骨架(模板,脚本等),B是我的博客(A充满了我自己的帖子,图片,草稿等).A是公共的,我试图让它通用给别人看,并使用它,但因此我需要一些帖子作为展示/测试(examples目录).每次更改A并稍后合并到B我的博客实例上进行此更改 - 这样所有新示例都会出现,B并且所有已删除的示例B都已更改,A因为上次合并导致冲突.

git merge

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

如何在合并时使git忽略目录

作为如何设置一个git驱动程序忽略合并上的文件夹的答案是有趣和有用的,它没有回答仍然让我难倒的原始问题.

与上面链接的问题不同,我有两个具有相同目录集的分支,并且为了将一个目录合并到另一个中,我需要git完全忽略一个目录.

我尝试使用我自己的合并驱动程序,如何告诉git始终为特定文件上的冲突合并选择我的本地版本?但是这种方法的问题是只有在这两个分支中存在实际冲突文件时才会调用此驱动程序.每当文件的更改仅在一个分支上时,git就会合并它们而不调用我的合并驱动程序.

这会导致我不想要的目录中的文件发生更改.任何想法我怎么能让git一直忽略该目录中的每个文件 - 无论是否被触及?

git merge

37
推荐指数
1
解决办法
1万
查看次数

Git:忽略公共存储库的文件,但不是私有的

我正在通过git在Heroku(现在)上部署一个Rails应用程序,并且还希望有一个公共版本供人们查看.有些文件是敏感的,只能在"heroku"分支中提交和推送,而不是"公共"分支.最好的方法是什么?

(我确实知道Heroku的Config变量,这是一个很好的临时解决方案,但是当我需要切换主机时却没那么有趣.)

这两个分支不需要一直同步 - 我可以定期将"master"分支合并到"public"分支并将其分别推送到github.

我尝试了各种各样的事情:

  • 单独的.gitignore文件和"我们的"合并策略 - 这在一开始并不起作用,在搞乱了一段时间后我觉得它变得太复杂了,所以我可以实现一个看似简单的任务

  • 使用自定义exclude文件,并将以下内容添加到.git/config...这根本不起作用:

的.git /配置

[branch "public"]
  excludesfile = +info/exclude_from_public
Run Code Online (Sandbox Code Playgroud)

使私有和公共存储库共享相同代码但忽略公共存储库中的敏感文件的最佳方法是什么?

您可以假设没有提交或推送任何代码,即这是一个刚刚初始化的存储库.

(之前已经以各种形式提出了这个问题,但没有一个答案是直截了当的,或者答案看起来真的很笨拙.我只是在这里以非常简单的方式提出这个问题,希望得到一个非常简单的回答.)

git version-control

34
推荐指数
2
解决办法
5370
查看次数

当我切换分支时,Git正在删除被忽略的文件

我有一个分支(让我们称之为B)忽略某个文件,在某些其他分支(例如分支A)中不会忽略该文件.当我从分支B切换到分支A,然后再次返回到B时,该文件已被删除.

这是正常的吗?我可以看到它会如何发生,在分支B认为它不存在的意义上,分支A认为它是,所以当我回到B时它"整理它".但它有点烦人.

有什么建议?

git

31
推荐指数
2
解决办法
5669
查看次数