gpt4 book ai didi

git - merge 2个本地文件

转载 作者:太空狗 更新时间:2023-10-29 14:48:19 25 4
gpt4 key购买 nike

我有 2 个本地文件需要 merge 。两者都没有在 git 中进行版本控制。是否有用于 merge 文件的 linux 命令?我尝试了 merge,但没有得到任何有用的输出。 merge 文件似乎显示整个第一个文件被删除,第二个文件是整个输出:

$ cat m1
hello there
my friend
how are you
$
$ cat m2
hello there
my chum
how are you
$
$ merge merge m1 m2
$ cat merge
<<<<<<< merge
=======
hello there
my chum
how are you
>>>>>>> m2

编辑

澄清一下,我希望创建一个 git 风格的 merge 文件,显示内联文件之间的差异,而不是简单地将 2 个文件首尾相连(无论如何都不适用于代码)

最佳答案

如果您不介意使用图形应用程序,我真的可以推荐KDiff3这是一个很棒的 merge 工具。在你的情况下,运行

kdiff3 -o output.txt m1 m2

你会得到

kdiff3 screenshot

对于每个 merge 冲突,按 A 或 B 按钮选择要选择的行(或两者)。您可以在底部区域随意编辑。


更新:如果你只想在终端中以文本模式工作,建立一个临时的 git 存储库非常便宜。学习使用 git 需要一些努力,但这是可行的。对于您的情况,以下命令可以完成工作:

$ mkdir /tmp/test
$ cd /tmp/test
$ git init
Initialized empty Git repository in /tmp/test/.git/
$ touch gitfile
$ git add gitfile
$ git commit -m "initial commit"
[master (root-commit) 31efd12] initial commit
0 files changed
create mode 100644 gitfile
$ git checkout -b m1-branch
Switched to a new branch 'm1-branch'
$ cat m1 >> gitfile
$ git add gitfile
$ git commit -m "m1 content"
[m1-branch 420b423] m1 content
1 file changed, 3 insertions(+)
$ git checkout -b m2-branch master
Switched to a new branch 'm2-branch'
$ cat m2 >> gitfile
$ git add gitfile
$ git commit -m "m2 content"
[m2-branch c4c525a] m2 content
1 file changed, 3 insertions(+)
$ git checkout master
Switched to branch 'master'
$ git merge m1-branch m2-branch
Fast-forwarding to: m1-branch
Trying simple merge with m2-branch
Simple merge did not work, trying automatic merge.
Auto-merging gitfile
ERROR: content conflict in gitfile
fatal: merge program failed
Automatic merge failed; fix conflicts and then commit the result.
$ cat gitfile
hello there
<<<<<<< .merge_file_qRmZJF
my friend
=======
my chum
>>>>>>> .merge_file_BUlXHH
how are you
$

关于git - merge 2个本地文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12513162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com