在我的工作中,我做了一个关于Git的介绍演示。我想展示如何解决合并冲突。但要做到这一点,我需要进行合并冲突。出于演示的目的,我写了一个简单的HTML文档,在这个文档中是一个表,参与者在那里输入名称。这是否足以引发冲突?
有趣的问题:(
用git checkout -b new-branch
创建一个新的分支,编辑一行,提交。
切换到原始分支,用不同的编辑来编辑同一行,再提交一次。
现在git merge new-branch
,您将得到一个合并冲突!:(
以下是如何生成冲突
# init your repo
git init
# print some text to any given file
echo 'aaa' > a.txt
# commit to the current branch
git add a.txt && git commit -m "Commit1"
# create a new branch
git checkout -b branch1
# add code to the end of the file
echo 'bbb' >> a.txt
# commit to the current branch (b)
git add a.txt && git commit -m "Commit2"
# get back to master branch
git checkout master
# add code to the end of the file
# here the file will still have its original code
echo 'ccc' >> a.txt
# commit to the current branch (master)
git add a.txt && git commit -m "Commit3"
# now when you will try to merge you will have conflict
git merge b
可以产生多种冲突。通常人们会想到在不同的分支上以不同的方式修改某些行。。。没关系。这是一种冲突。但也有其他的。
-
取一段代码(文件中的一些行(并删除它们。取另一个分支并修改它们。然后合并。
-
获取一个文件并将其删除。然后转到另一个分支并对其进行编辑。然后合并。
-
取一个文件并重命名它。然后转到另一个分支并以其他方式重命名它。然后合并。