日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

五、Git多人开发:同时变更了文件名和文件内容如何处理?

發(fā)布時間:2024/10/8 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 五、Git多人开发:同时变更了文件名和文件内容如何处理? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

@Author:Runsen

同時變更了文件名和文件內容如何處理

我們接著上面的話題,如果遇到了同時變更了文件名和文件內容如何處理?

A和B在同一個dev分支上對同一份代碼倉庫中的同一個文件做修改,小A變更了文件名,小B在不知道的情況下,基于原來的文件名對文件內容做了變更,此時合并出現(xiàn)問題應該怎么解決?

小A和小B首先對使用git pull命令同步下。小A使用命令,模擬變更文件名的操作。

YIUYE@DESKTOP-5EEO47M MINGW64 ~/Desktop/A/muli_person_test (dev) $ git mv user.html user.htmYIUYE@DESKTOP-5EEO47M MINGW64 ~/Desktop/A/muli_person_test (dev) $ git commit -m "Mv user.html user,htm" [dev bd39f70] Mv user.html user,htm1 file changed, 0 insertions(+), 0 deletions(-)rename user.html => user.htm (100%)

小B模擬基于原來的文件名對文件內容做變更,打開user.html文件之后添加<h1>XXXXXXXXXX</h1>,保存之后退出,提交,使用命令

maoli@ubuntu:~/B/muli_person_test$ vim user.html <html><head>用戶</head><body><h1>這是小A開發(fā)的User.html</h1><h1>XXXXXXXXXX</h1></body> </html> maoli@ubuntu:~/B/muli_person_test$ git commit -am "Improve h1 XXXXXXX" [dev 0929525] Improve h1 XXXXXXX1 file changed, 1 insertion(+)

小A將之前變更的文件名操作push上去,看看小B發(fā)生什么的結果。此時,會報錯,出現(xiàn)non fast-forward的錯誤提示,

YIUYE@DESKTOP-5EEO47M MINGW64 ~/Desktop/A/muli_person_test (dev) $ git push Counting objects: 2, done. Delta compression using up to 12 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (2/2), 253 bytes | 0 bytes/s, done. Total 2 (delta 1), reused 0 (delta 0) remote: Powered by GITEE.COM [GNK-5.0] To https://gitee.com/MaoliRUNsen/muli_person_testd613e8f..bd39f70 dev -> dev 小B在小A提交成果后,再進行提交,```cpp maoli@ubuntu:~/B/muli_person_test$ git push To https://gitee.com/MaoliRUNsen/muli_person_test! [rejected] dev -> dev (fetch first) error: 無法推送一些引用到 'https://gitee.com/MaoliRUNsen/muli_person_test' 提示:更新被拒絕,因為遠程倉庫包含您本地尚不存在的提交。這通常是因為另外 提示:一個倉庫已向該引用進行了推送。再次推送前,您可能需要先整合遠程變更 提示:(如 'git pull ...')。 提示:詳見 'git push --help' 中的 'Note about fast-forwards' 小節(jié)。

解決辦法,使用命令git pull,git會自動處理這種情況。

maoli@ubuntu:~/B/muli_person_test$ git pull remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Compressing objects: 100% (2/2), done. remote: Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 展開對象中: 100% (2/2), 完成. 來自 https://gitee.com/MaoliRUNsen/muli_person_testd613e8f..bd39f70 dev -> origin/dev Merge made by the 'recursive' strategy.user.html => user.htm | 01 file changed, 0 insertions(+), 0 deletions(-)rename user.html => user.htm (100%)

這個時候文件名和內容都按照之前的發(fā)生變化。

maoli@ubuntu:~/B/muli_person_test$ cat user.htm <html><head>用戶</head><body><h1>這是小A開發(fā)的User.html</h1><h1>XXXXXXXXXX</h1></body> </html>

總結

以上是生活随笔為你收集整理的五、Git多人开发:同时变更了文件名和文件内容如何处理?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。