场景:多个开发者同时操作git中的同一个文件,最后在依次提交和push的时候,第一个操作的是可以正常push的,而之后的开发者想要执行pull和push操作的时候,就会报冲突异常conflict。
1.在github上新建一个conflict仓库,并在本地初始化仓库,添加内容并完成初始化提交
git clone https://github.com/1259472421/conflict.git
cd conflict
ls
echo "我去水果店买水果">> test.txt
ls
git add test.txt
git commit -m "init commit"
git push
查看提交后github里的内容
2.复制一份conflict命名为conflict1,并使用另一个终端打开,模拟不同用户进行代码提交
cp -r conflict conflict1
3.用户conflict进行的操作
cat test.txt
echo "我买了一斤苹果,苹果很好吃。">> test.txt
git add test.txt
git commit -m "user conflict commit"
git push
查看提交后github里的内容
4.用户conflict1进行的操作
cat test.txt
echo "我买了一斤苹果,苹果很难吃。">> test.txt
git add test.txt
git commit -m "user conflict1 commit"
git pull
git会在pull时自动合并代码,而需要push时,抛出一个冲突需要我们手工解决。
5.手动解决冲突(保留的内容为后一次提交的内容)
查看github上的内容
6.用户conflict更新代码
cat test.txt
git pull
cat test.txt