五、Git多人开发:同时变更了文件名和文件内容如何处理?
生活随笔
收集整理的這篇文章主要介紹了
五、Git多人开发:同时变更了文件名和文件内容如何处理?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
@Author:Runsen
同時變更了文件名和文件內容如何處理
我們接著上面的話題,如果遇到了同時變更了文件名和文件內容如何處理?
A和B在同一個dev分支上對同一份代碼倉庫中的同一個文件做修改,小A變更了文件名,小B在不知道的情況下,基于原來的文件名對文件內容做了變更,此時合并出現問題應該怎么解決?
小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開發的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發生什么的結果。此時,會報錯,出現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' 小節。解決辦法,使用命令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%)這個時候文件名和內容都按照之前的發生變化。
maoli@ubuntu:~/B/muli_person_test$ cat user.htm <html><head>用戶</head><body><h1>這是小A開發的User.html</h1><h1>XXXXXXXXXX</h1></body> </html>總結
以上是生活随笔為你收集整理的五、Git多人开发:同时变更了文件名和文件内容如何处理?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四、Git多人开发:不同人修改了同文件的
- 下一篇: 马自达自带导航怎么开通?