到目前为止,我还没有用 git 做这么多。现在,我有以下问题。虽然我做了一些本地修改和提交,但我的同事在新分支中重组了文件和文件夹。然后,我添加了一个远程跟踪分支(反映他的更改)并尝试将我的修改合并到其中。当然,当文件移动到另一个位置时它会失败。我怎样才能继续?'git status' 告诉我这个:
# On branch develop
# You have unmerged paths.
# (fix conflicts and run "git commit")
#
# Unmerged paths:
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# deleted by us: src/de/mpicbg/tds/knime/hcstools/prefs/DoubleFieldEditor.java
# deleted by us: src/de/mpicbg/tds/knime/hcstools/prefs/HCSToolsPreferencePage.java
# deleted by us: src/de/mpicbg/tds/knime/heatmap/HeatMapModel.java
# deleted by us: src/de/mpicbg/tds/knime/heatmap/PlateViewer.java
# deleted by us: src/de/mpicbg/tds/knime/heatmap/color/LinearGradientTools.java
# deleted by us: src/de/mpicbg/tds/knime/heatmap/dialog/PlateAttributeDialog.java
# deleted by us: src/de/mpicbg/tds/knime/heatmap/menu/TrellisMenu.java
# deleted by us: src/de/mpicbg/tds/knime/heatmap/menu/ViewMenu.java
# deleted by us: …Run Code Online (Sandbox Code Playgroud) 在我们的存储库中,我们有两个分支已经分叉了一段时间,我需要将它们合并在一起。显然会有很多冲突,希望是轻微的......
(foo )$ git rebase master
First, rewinding head to replay your work on top of it...
Applying: some_commit1
Applying: some_commit2
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging some_file.xyz
CONFLICT (content): Merge conflict in some_file.xyz
Failed to merge in the changes.
Patch failed at 0002 some_commit2
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To …Run Code Online (Sandbox Code Playgroud) 我在合并时遇到问题,但 git 没有将文件标记为冲突。当我尝试使用 . 打开文件时git mergetool,git 只是说:No files need merging.
如何以三种方式比较在没有合并冲突的情况下打开文件?
如果 rebase 导致合并冲突,如何使用 SourceTree 在另一个分支上进行交互式 rebase?
我观察到的:我使用 SourceTree 进行交互式 rebase,通过
git -c diff.mnemonicprefix=false -c core.quotepath=false -c sequence.editor='C:\Users\DNTRAINING\AppData\Local\SourceTree\app-2.3.5\tools\stree_gri' -c core.editor = 'C:\用户\ DNTRAINING \应用程序数据\本地\ SourceTree \ APP-2.3.5 \工具\ stree_gri'重订-i --autosquash 1b9102ed53ec63bd6d38a9436663bf58bda590b1
自动合并f3.txt
冲突(含量):合并在f3.txt冲突
衍合(1/3)
错误:无法应用 af56da4... feature_rebase_test02 第一次尝试
手动解决所有冲突,使用
“git add/rm”将它们标记为已解决,然后运行“git rebase --continue”。
你可以跳过这个提交:运行“git rebase --skip”。
要中止并返回“git rebase”之前的状态,请运行“
无法应用 af56da4... feature_rebase_test02 第一次尝试
已完成但有错误,请参见上文。
那么,如果我还有合并冲突要解决,我该如何与 SourceTree 进行 rebase --interactive?谢谢,克劳斯
当我尝试将feature分支合并到 时master,我时不时会遇到合并冲突。
现在显而易见的解决方案是在合并过程中手动解决冲突。
然而,对于基于拉取请求的工作流程(github、gitlab...),这在某种程度上并不是最优的,因为它将所有工作都放在了负责实际合并分支的人员身上,而不是提交者身上。
一个有点有用的解决方案是在提交 PR 之前合并master到feature,修复所有冲突。然而,我有一种感觉,这不必要地使 git 历史变得复杂化。
所以我想知道,是否有一种(简单的)方法来准备分支feature,以便它可以干净地合并到master(在两个分支显着分歧之后)。理想情况下,修复可以在多次提交中完成。
如何让 KDiff3 自动进行三向合并,使其不显示 UI?理想情况下,如果成功,则返回成功,如果不能(需要手动合并),则返回错误代码。
我读过的所有内容似乎都暗示以下内容应该有效:
"c:\Program Files\KDiff3\kdiff3.exe" --auto base.txt src.txt tar.txt -o merge.txt
Run Code Online (Sandbox Code Playgroud)
然而,事实并非如此。当我运行它时,会弹出一个消息框,上面写着:
Total number of conflicts: 3
Nr of automatically solved conflicts: 3
Nr of unsolved conflicts: 0
Run Code Online (Sandbox Code Playgroud)
我如何让它在没有这个弹出窗口的情况下运行,如果失败,根本没有 GUI?
找不到我的问题所以我想我会问。
我自己和另一个人正在开发这个仓库。我的本地克隆是最新的。
我的伙伴删除了文件“example.txt”,提交并推送了它。
第二天我进来,执行 git status(最新),然后执行 git pull。它从我的本地存储库中删除“example.txt”。
问题是我需要该文件,但我的伙伴不小心删除了它。
我该如何防止将来再发生这种情况?有没有办法让 git pull 在删除某些内容之前先警告我?
因此,我尝试先执行 git fetch,然后执行 git status,但它并没有表明如果合并,我将删除文件。
patch如何使用创建新文件是众所周知的。但如何做相反的事情:删除具有任意内容的现有文件,或将其替换为给定内容?
上下文:假设 Linux 树中有一个包含 Makefile 和/或 Kconfig 的目录。我只想从他们那里的分类中构建一个自定义模块(驱动程序),为此我想添加我的源文件(这很容易),并用我的内容替换整个现有的 Makefile 和 Kconfig(仅单行或块)对于我的模块)。
我想将所有这些打包到一个补丁文件中。
我不想修改现有文件,因为周围“上下文”发生冲突的风险很高。
我的混淆来自于此处的以下声明:
当拉出彼此冲突的补丁(例如,更改文件的相同部分)时,Darc会检测冲突并将其标记在存储库内容中.然后,它允许用户解决问题.
这似乎与我所看到的不一致,因此我使用darcs 2.5.2创建了以下工作流程:
在执行这些步骤之后,我darcs whatsnew在bar中运行,并显示了两个"补丁原语":
我的问题是:为什么没有提到在栏中添加和记录的行?
如果我darcs revert在bar中运行,那么一切都有意义:我看到"非空文件"受到两个冲突补丁的影响,根据此处的说法:
命令darcs revert将删除冲突标记并在冲突补丁之前恢复到状态.
但是如果我运行的话,我会darcs mark-conflicts回到拉动之后的状态,使用上面提到的两个"补丁基元",并且没有提到添加并记录在条形中的行.
对于参考/再现,这是我从命令行完成的工作流程:
$ mkdir foo
$ cd foo/
foo$ darcs initialize
foo$ touch shopping
foo$ vi shopping <-- add a couple of lines
foo$ darcs add shopping
foo$ darcs record
addfile ./shopping
Shall I record this change? (1/2) [ynW...], or ? for more options: y
hunk ./shopping 1
+cake …Run Code Online (Sandbox Code Playgroud) version-control haskell dvcs darcs merge-conflict-resolution
我试图围绕git冲突,为什么合并这两个会导致冲突?
分支上的file.txt master:
This is line number one
Run Code Online (Sandbox Code Playgroud)
分支上的file.txt feature:
This is line number one
This is line number two
Run Code Online (Sandbox Code Playgroud)