欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Git工具 conflict沖突問(wèn)題解決方案

 更新時(shí)間:2020年09月28日 11:58:52   作者:海綿般汲取  
這篇文章主要介紹了Git工具 conflict沖突問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章需要對(duì)git具有一定的了解,并且知道如何安裝git工具(其實(shí)就是上git官網(wǎng)下載個(gè)文件,安裝)

git這種版本控制工具有什么好處

  第一個(gè),方便可以多人協(xié)同開(kāi)發(fā)同一個(gè)項(xiàng)目或系統(tǒng)

  第二個(gè),當(dāng)你系統(tǒng)開(kāi)發(fā)到一個(gè)穩(wěn)定版本后為了開(kāi)發(fā)新的功能,肯定要把開(kāi)發(fā)好后的系統(tǒng)代碼進(jìn)行備份保存起來(lái),不然萬(wàn)一那個(gè)不懂事的小程序猿刪的代碼你咋整呢

而代碼倉(cāng)庫(kù)可以為你解決這個(gè)問(wèn)題,而使用git倉(cāng)庫(kù)的項(xiàng)目,就需要用到git工具

版本控制工具git或svn使用方式來(lái)說(shuō),一種命令行,一個(gè)是使用可視化工具進(jìn)行操作。

git的可視化工具有很多,大部分原理都想通。(間接調(diào)用命令行進(jìn)行操作。)

簡(jiǎn)單的clonerepository克隆倉(cāng)庫(kù),openlocal repository打開(kāi)本地倉(cāng)庫(kù),什么的就不說(shuō)的

這里以SourceTree界面來(lái)舉例

一般我們從遠(yuǎn)程倉(cāng)庫(kù)上克隆代碼到本地倉(cāng)庫(kù)后,我們的操作一般就是,

  1、pull 拉取遠(yuǎn)程倉(cāng)庫(kù)上的代碼

  2、修改本地代碼,

  3、然后commit,commit時(shí)候選擇你要提交的你修改過(guò)的文件填寫提交的作者,日期,說(shuō)明信息。這樣你本地倉(cāng)庫(kù)代碼已經(jīng)提交完成了,

  4、將本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)進(jìn)行同步,使用push命令推送到遠(yuǎn)程倉(cāng)庫(kù)

上面的四個(gè)步驟是理想化狀態(tài)下的一般步驟,當(dāng)單人使用的時(shí)候不會(huì)出錯(cuò),兩個(gè)人可能也不會(huì)有問(wèn)題,但隨著人數(shù)增多,肯定會(huì)遇倒這樣那樣的問(wèn)題。

問(wèn)題情況1:如從遠(yuǎn)端拉取到正式版本后,我增加的文件,或修改的代碼,然后在將修改或增加的代碼同步到遠(yuǎn)端,但在我push之前,有另一個(gè)人也從遠(yuǎn)端拉取得代碼

    并且更新完成代碼,并push到遠(yuǎn)程倉(cāng)庫(kù)的。這個(gè)時(shí)候我commit沒(méi)有問(wèn)題,但是我push不成功,還有一個(gè)就是我也正在修改代碼,然后不能將代碼pull下來(lái)

問(wèn)題原因:很明顯,遠(yuǎn)程倉(cāng)庫(kù)已經(jīng)被修改的,所以不能推送我們的更改

截圖看的更清晰:

我在不同文件夾下拉取的相同的遠(yuǎn)程倉(cāng)庫(kù)一個(gè)是在D:/Source_code/MergeRepo 另一個(gè)在D:/Source_code/New/MergeRepo

我先將其中一個(gè)倉(cāng)庫(kù)增加一個(gè)文件 “測(cè)試push文件時(shí)沖突問(wèn)題.txt”

常規(guī)操作,commit push,完成

我們可以看到文件已經(jīng)上傳到遠(yuǎn)程分支上的

再接著看另一個(gè)本地倉(cāng)庫(kù),可以看到下圖,pull按鈕有一個(gè)提示,遠(yuǎn)程倉(cāng)庫(kù)已經(jīng)更新的,但這個(gè)時(shí)候我們可能還在開(kāi)發(fā)新的功能,

可能這個(gè)工具沒(méi)有顯示遠(yuǎn)程有更新可以拉取,我們想要將寫好的功能提交到遠(yuǎn)程倉(cāng)庫(kù)

執(zhí)行,commit ,push,然后就,,出現(xiàn)錯(cuò)誤,遠(yuǎn)程倉(cāng)庫(kù)已經(jīng)更新的,不能推送。

這需要先將遠(yuǎn)程代碼pull下來(lái),但是可能也拉取不成功

因?yàn)樾鹿δ軙?huì)存在修改我們拉取下來(lái)的項(xiàng)目的文件,所以我們當(dāng)前就不能將遠(yuǎn)程更新的代碼拉取下來(lái),會(huì)提示我們先stashsave我們修改過(guò)的代碼,

然后再pull更新遠(yuǎn)程代碼,最后再將我們存放到棧里面的開(kāi)發(fā)新功能代碼修改彈出棧,stashpop

  解決辦法:所以我們要先把遠(yuǎn)程倉(cāng)庫(kù)的代碼拉取下來(lái),但是會(huì)存在拉取不下來(lái)的問(wèn)題。

      我們需要將我們的更改存放到棧內(nèi)存中,也就是使用stash save命令,然后在拉取服務(wù)器端更新過(guò)的代碼,然后在使用stashpop命令將我們之前的修改取出來(lái)合并到

      本地代碼倉(cāng)庫(kù)中去。

      當(dāng)然上面的stash pop彈出改變的內(nèi)容時(shí)會(huì)有conflict問(wèn)題出現(xiàn),我們找到發(fā)生沖突的文件,講我們需要的文件內(nèi)容保留下來(lái)就可以啦

     ?。ㄒ院笥薪貓D的時(shí)候再詳細(xì)講)

      最后沖突解決完成的,我們?cè)侔凑粘R?guī)流程走,commit,push

情況2:需要在正式發(fā)布好的產(chǎn)品上添加新的功能,不可能在主分支上開(kāi)發(fā)新功能,比如我們正式版本是在master分支上,

    

  解決方法:我們就需要在復(fù)制一份本地倉(cāng)庫(kù)中的master版本,取新的

      名字,在這個(gè)新的名字分支上開(kāi)發(fā)新的功能,然后我們將新的版本提交到我們遠(yuǎn)程倉(cāng)庫(kù)分支上上。

      提交完成后,我們將本地倉(cāng)庫(kù)切換到master分支,在選中我們開(kāi)發(fā)的新功能分支,右鍵點(diǎn)擊merge合并選中的分支到當(dāng)前分支中。

      到這里,新功能開(kāi)發(fā)任務(wù)就完成啦,合并到master分支,主分支也擁有這個(gè)新開(kāi)發(fā)的功能模塊的

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 深入了解MyBatis參數(shù)

    深入了解MyBatis參數(shù)

    今天小編就為大家分享一篇關(guān)于深入了解MyBatis參數(shù),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • java實(shí)現(xiàn)音頻文件播放功能

    java實(shí)現(xiàn)音頻文件播放功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)音頻文件播放功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Java parseInt解釋加方法示例

    Java parseInt解釋加方法示例

    使用此方法得到的原始數(shù)據(jù)類型的一個(gè)特定的字符串。 parseXxx()是一個(gè)靜態(tài)方法,可以有一個(gè)參數(shù)或兩個(gè)
    2013-11-11
  • MyBatis SELECT基本查詢實(shí)現(xiàn)方法詳解

    MyBatis SELECT基本查詢實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了MyBatis SELECT基本查詢實(shí)現(xiàn)方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java中創(chuàng)建線程的四種方法解析

    Java中創(chuàng)建線程的四種方法解析

    這篇文章主要介紹了Java中創(chuàng)建線程的四種方法解析,線程是Java編程語(yǔ)言中的一個(gè)重要概念,它允許程序在同一時(shí)間執(zhí)行多個(gè)任務(wù),線程是程序中的執(zhí)行路徑,可以同時(shí)執(zhí)行多個(gè)線程,每個(gè)線程都有自己的執(zhí)行流程,需要的朋友可以參考下
    2023-10-10
  • ResponseBodyAdvice踩坑及解決

    ResponseBodyAdvice踩坑及解決

    這篇文章主要介紹了ResponseBodyAdvice踩坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Spring Security整合CAS的示例代碼

    Spring Security整合CAS的示例代碼

    本篇文章主要介紹了Spring Security整合CAS的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Java高級(jí)應(yīng)用之斗地主游戲

    Java高級(jí)應(yīng)用之斗地主游戲

    這篇文章主要為大家詳細(xì)介紹了Java高級(jí)應(yīng)用之斗地主游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • MyBatis-Plus不使用數(shù)據(jù)庫(kù)默認(rèn)值的問(wèn)題及解決

    MyBatis-Plus不使用數(shù)據(jù)庫(kù)默認(rèn)值的問(wèn)題及解決

    這篇文章主要介紹了MyBatis-Plus不使用數(shù)據(jù)庫(kù)默認(rèn)值的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • java web學(xué)習(xí)_淺談request對(duì)象中g(shù)et和post的差異

    java web學(xué)習(xí)_淺談request對(duì)象中g(shù)et和post的差異

    下面小編就為大家?guī)?lái)一篇java web學(xué)習(xí)_淺談request對(duì)象中g(shù)et和post的差異。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05

最新評(píng)論