相关疑难解决方法(0)

来自干净目录的git pull有合并冲突

git pull在一个干净的工作目录上从我的上游做了一个,它向我展示了合并冲突.我花了大约一个小时手动重置它们,以为我搞砸了一些事情,它再次发生了.

这是git中的错误吗?我对它知之甚少,所以我完全愿意接受我这样做.

这是我的截断输出(它发生在大约9个文件但我想节省空间,文件名已被更改以保护无辜):

$ git status
# On branch master
nothing to commit (working directory clean)
$ git pull
Auto-merged xxxx/xxxx/xxxx.xxx
CONFLICT (content): Merge conflict in xxxx/xxxx/xxxx.xxx
Automatic merge failed; fix conflicts and then commit the result.
Run Code Online (Sandbox Code Playgroud)

我正在使用Solaris 11 Express和软件包默认git.

$ uname -a
SunOS xxxx 5.11 snv_151a i86pc i386 i86pc Solaris
$ git --version
git version 1.5.6.5
$ pkg list git
NAME (PUBLISHER)                              VERSION         STATE      UFOXI
developer/versioning/git                      1.5.6.5-0.151.0.1 installed  -----
Run Code Online (Sandbox Code Playgroud)

我发现了这个问题:Git pull失败:你有未分级的变化.Git状态:没有提交(工作目录清理),这似乎最接近,但有一个不满意的答案.

如何在不删除整个存储库并创建新克隆的情况下通过此操作?

git

15
推荐指数
1
解决办法
6750
查看次数

Git:目前与私人远程仓库合并/冲突.如何告诉Git只使用我的本地文件?

尝试使用个人项目来学习/学习git.只有我和一个远程git仓库,一些提交,我陷入了失败的合并.我的很多文件现在都有Git合并冲突标记.

我怎么告诉git把所有东西扔掉,只是用我的?

我是如何进入我所处的状态的一个具体例子:

echo A new file > myFile.txt             # example file
git add myFile.txt                       # add file
git commit                               # commit changes
git push                                 # push changes to remote repo
echo A conflicting edit > myFile.txt     # oh, no, forgot some changes
git add myFile.txt                       # add again
git commit --amend                       # amend previous commit
git push                                 # fails. Git suggests to do a pull first
git pull origin HEAD                     # "Automatic merge failed" Now what?
                                         # Just use …
Run Code Online (Sandbox Code Playgroud)

git merge conflict merge-conflict-resolution

13
推荐指数
2
解决办法
9444
查看次数

如何解决git merge冲突,从命令行,使用给定的策略,只针对一个文件?

假设我做了一个git merge并且在某些文件中有冲突,比如说,package.json或者pom.xml也许是其他一些文件.

我想要

  1. 从命令行自动解决某些文件的合并冲突
  2. 让我自己解决所有其他冲突,如果有的话,和
  3. 确保我不会丢失任何分支机构的宝贵更改.

由于2),我无法使用,git merge -Xours因为这将解决所有冲突.我想只解决一个特定文件中的冲突.

由于3),我无法使用,git checkout --ours package.json因为这可能会丢失输入分支的一些更改.

用例例如是:自动合并脚本,它将以预定义的方式解决琐碎的众所周知的冲突,如果其他文件中存在其他冲突,则会失败.

我经常遇到的典型情况是有两个分支,其中version字段package.json分叉如下:

$ git diff
diff --cc package.json
index 75c469b,f709434..0000000
--- a/package.json
+++ b/package.json
@@@ -1,6 -1,6 +1,12 @@@
  {
    "name": "test",
++<<<<<<< HEAD
 +  "version": "2.0.1",
++||||||| merged common ancestors
++  "version": "1.0.0",
++=======
+   "version": "1.0.2",
++>>>>>>> master
Run Code Online (Sandbox Code Playgroud)

是否可以使用给定策略解决JUST ONE文件的冲突?就像是:

git-resolve-conflict --ours package.json
Run Code Online (Sandbox Code Playgroud)

git merge git-merge

12
推荐指数
1
解决办法
3956
查看次数

Git说“自动合并失败”,是什么意思?

我试图合并两个分支,这就是我所做的和发生的事情:

Abdulla (Master) new-git-project1
$ git merge sidebar
Auto-merging index.html
CONFLICT (content): Merge conflict in index.html
Automatic merge failed; fix conflicts and then commit the result.
Abdulla (Master *+|MERGING) new-git-project1
$ git merge sidebar
error: Merging is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.
Run Code Online (Sandbox Code Playgroud)

我是新手,所以我能得到简单的答案。

git git-bash

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

冲突(内容):合并冲突

我有一个带遥控器的服务器,每当我git pull得到那些愚蠢的======和HEAD >>>>我的文件中的东西导致我的服务器无法正常工作.每次我想要将服务器更新为与我的源/主服务器相同时,如何防止这种情况?

这就是我做的:

git pull production master
Run Code Online (Sandbox Code Playgroud)

然后我得到了这个:

CONFLICT (content): Merge conflict in 
Run Code Online (Sandbox Code Playgroud)

当我这样做时,git status我得到了这个:

Unmerged paths:
(use "git add/rm <file>..." as appropriate to mark resolution)

    both modified:      photocomp/settings.py
    both modified:      photocomp/wsgi.py
Run Code Online (Sandbox Code Playgroud)

git conflict git-pull

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

Git - 自动为冲突版本创建不同的文件

当Git在合并期间检测到冲突时,默认行为是使用<<< >>> ===标记填充文件.

这在大多数情况下都可以,但有时候我想以不同的方式解决冲突,我只想让Git创建不同的文件:

  • 原始版本,
  • 改变版本A,
  • 更改版本B.

怎么实现呢?


如果没有简单的命令一次性创建这些文件(这有点令人惊讶),也许有一种方法来扩展Git以便它可以做到这一点?习俗mergetool还是什么?只是一个想法.


解:

我已经找到了@Karl Bielefeldt的答案:

savefiles.sh

#!bash
BASE=$1
LOCAL=$2
REMOTE=$3
MERGED=$4

cp "$BASE" "$MERGED.git_BASE"
cp "$LOCAL" "$MERGED.git_LOCAL"
cp "$REMOTE" "$MERGED.git_REMOTE"

# never mark the conflict as merged
exit 1 
Run Code Online (Sandbox Code Playgroud)

配置

mergetool.savefiles.cmd=/path/to/savefiles.sh $BASE $LOCAL $REMOTE $MERGED
mergetool.savefiles.trustexitcode=true
Run Code Online (Sandbox Code Playgroud)

git version-control merge-conflict-resolution

10
推荐指数
2
解决办法
1271
查看次数

如何在eclipse中使用外部差异查看器?内置的eclipse有没有可用的差异查看器?

在此输入图像描述

我正在eclipse中处理一个java项目.每次提交一个文件我想查看这个文件中所做的所有更改.在eclipse中很难分析哪些行被删除,添加,更改等.请对此提出建议.

eclipse eclipse-plugin

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

bitbucket无法合并无关分支

我在bitbucket上有存储库(比如说A)和分叉存储库A-dev.一切都运作良好3个月.但是最近,当我试图在A-dev中创建pull请求时,它说:

无法合并无关分支

为什么会发生这种情况以及如何解决?无论如何要排除故障吗?

谢谢. 编辑 错误的屏幕截图

git bitbucket

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

git不能压缩提交

我无法压缩提交git rebase -i command,收到以下错误消息.

error: could not apply 3ad5c7b... 

When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To check out the original branch and stop rebasing run "git rebase --abort".
Run Code Online (Sandbox Code Playgroud)

什么是错误以及如何解决?

git rebase

7
推荐指数
2
解决办法
8839
查看次数

.xcodeproj文件丢失,分支合并后无法打开

我刚刚将其中一个功能分支合并到了develop分支中,从那时起,当我打开Xcode时,.xcodeproj文件似乎丢失了,项目导航器中的所有文件也都消失了.点击.xcodeproj文件,我收到以下警告:The file couldn’t be opened.

这是虽然我在所有分支中添加.xcodeproj到该.gitignore文件.你遇到过这样的情况吗?

git merge xcode

7
推荐指数
1
解决办法
6802
查看次数