国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Git錯(cuò)誤non-fast-forward的解決方法

這篇具有很好參考價(jià)值的文章主要介紹了Git錯(cuò)誤non-fast-forward的解決方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1、問(wèn)題描述
當(dāng)要push代碼到git時(shí),出現(xiàn)提示:

$ git push origin master
To ../remote/
?! [rejected] ???????master -> master (non-fast-forward)
error: failed to push some refs to '../remote/'

2、分析問(wèn)題
Dealing with “non-fast-forward” errors:(From time to time you may encounter this error while pushing)
????To prevent you from losing history, non-fast-forward updates were rejected. Merge the remote changes before pushing again. See the 'non-fast forward' section of 'git push --help' for details.
????This error can be a bit overwhelming at first, do not fear. Simply put, git cannot make the change on the remote without losing commits, so it refuses the push. Usually this is caused by another user pushing to the same branch. You can remedy this by fetching and merging the remote branch, or using pull to perform both at once.
?????In other cases this error is a result of destructive changes made locally by using commands like git commit --amend or git rebase. While you can override the remote by adding --force to the push command, you should only do so if you are absolutely certain this is what you want to do. Force-pushes can cause issues for other users that have fetched the remote branch, and is considered bad practice. When in doubt, don’t force-push.

上面這段是從博主那摘抄的(2012年的文章),其實(shí)這和上面那張圖的內(nèi)容有很多相似之處,因?yàn)榧夹g(shù)的發(fā)展和經(jīng)驗(yàn)的積累,現(xiàn)在的git的功能也越來(lái)越完善,它不僅提示出錯(cuò)(具體原因),還會(huì)給出一些建設(shè)性意見(jiàn),以供你參考。

我們知道git的一大好處就是可以團(tuán)隊(duì)合作開(kāi)發(fā),但是這就涉及到一個(gè)問(wèn)題,怎么保證遠(yuǎn)程倉(cāng)庫(kù)的一致性?這也是它不得不處理的一個(gè)重要問(wèn)題!

我們可以這樣理解這個(gè)問(wèn)題就是:別人上傳到遠(yuǎn)程倉(cāng)庫(kù)后,你沒(méi)有及時(shí)的同步(、拉取)到本地,但是你同時(shí)又添加了一些內(nèi)容(提交),以致于你在提交時(shí),它會(huì)檢測(cè)到你之前從遠(yuǎn)程倉(cāng)庫(kù)拉取的時(shí)候的倉(cāng)庫(kù)狀態(tài)和現(xiàn)在的不一樣。于是,它為了安全起見(jiàn)拒絕了你的提交(然后就報(bào)了這個(gè)錯(cuò)誤)。

?再者我們可以簡(jiǎn)單來(lái)理解這個(gè)問(wèn)題:我們從字面上理解“non-fast-forward”,可以認(rèn)為是“不能快速前進(jìn)”,我覺(jué)得有個(gè)廣告說(shuō)得好:車到山前必有路……但是路有好走的路,也有不好走的路;而遇到不好走的路時(shí)(比如前方遇到攔路石,或者是前方出現(xiàn)岔路),我們就不得不停下來(lái)思考“以后的路該怎么走”了,我們“不僅要低頭趕路,也要抬頭看路”就是這個(gè)意思。

“不能快速前進(jìn)”的原因是因?yàn)槁凡灰粯恿耍兊貌缓米吡?;體現(xiàn)在git里面就是提交歷史出現(xiàn)分叉,主線不再是一條直線,而是在前端出現(xiàn)了分叉,git不知道該如何前進(jìn),所以報(bào)錯(cuò)了,讓你來(lái)覺(jué)得走哪條路!

3、解決問(wèn)題
于是你有2個(gè)選擇方式:

3.1、先合并之前的歷史,再進(jìn)行提交——提倡使用
(1)先把git的東西fetch到你本地然后merge后再push

$ git fetch origin master

$ git merge?origin FETCH_HEAD?

先抓取遠(yuǎn)程倉(cāng)庫(kù)的更新到本地,然后與你的本地倉(cāng)庫(kù)合并,(如果有沖突就要解決沖突后再合并,沖突問(wèn)題比較復(fù)雜,這里就不詳細(xì)說(shuō)了),這樣就可以使遠(yuǎn)程倉(cāng)庫(kù)和你本地倉(cāng)庫(kù)一致了,然后就可以提交修改了。

(2)這2句命令等價(jià)于
$ git pull?origin master

但是使用git fetch + git merge 更加安全。

(3)git pull --rebase origin master

重定基,可以是歷史更加統(tǒng)一,即使提交歷史趨向于一條直線。

補(bǔ)充:他們之間的關(guān)系

git pull = git fetch + git merge FETCH_HEAD?

git pull --rebase = ?git fetch + git rebase FETCH_HEAD

3.2、丟棄之前的歷史,強(qiáng)推——謹(jǐn)慎使用
強(qiáng)推,即利用強(qiáng)覆蓋方式用你本地的代碼替代git倉(cāng)庫(kù)內(nèi)的內(nèi)容

$ git push -f??或者 $?git push --force

官方文檔提示:This flag disables these checks, and can cause the remote repository to lose commits; use it with care.(即:此標(biāo)志禁用這些檢查,并可能導(dǎo)致遠(yuǎn)程存儲(chǔ)庫(kù)丟失提交;小心使用。)

俗話說(shuō)得好:“強(qiáng)扭的瓜不甜”,強(qiáng)制(暴力)執(zhí)行總會(huì)產(chǎn)生一些不好的結(jié)果,應(yīng)慎重考慮是否使用該命令!??!

不僅在此處,在平時(shí)使用時(shí),也要非常注意,除非你真的是想覆蓋遠(yuǎn)程倉(cāng)庫(kù)(你真的知道自己在干嘛?。?,不然最好不要強(qiáng)制執(zhí)行。

推薦閱讀(英文):Dealing with non-fast-forward errors

2019年7月28日10:02:13 更新部分內(nèi)容。
————————————————
版權(quán)聲明:本文為CSDN博主「秦時(shí)明月之君臨天下」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_41287260/article/details/89742151文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-756727.html

到了這里,關(guān)于Git錯(cuò)誤non-fast-forward的解決方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • git 上傳出現(xiàn)“ ! [rejected] master -> master (non-fast-forward)”

    一、設(shè)置git倉(cāng)庫(kù) 1、先刪除原來(lái)倉(cāng)庫(kù) 2、添加倉(cāng)庫(kù) 注意:若要修改倉(cāng)庫(kù) 二、 在使用Git 配置公司的遠(yuǎn)程倉(cāng)庫(kù)時(shí) git push origin master ,出現(xiàn)以下問(wèn)題 從提示語(yǔ)中可以看出是,問(wèn)題(Non-fast-forward)的出現(xiàn)原因在于:git倉(cāng)庫(kù)中已經(jīng)有一部分代碼,所以它不允許你直接把你的代碼覆蓋上

    2024年01月17日
    瀏覽(23)
  • git push報(bào)錯(cuò) ! [rejected] dev -> dev (non-fast-forward)

    問(wèn)題 git push 進(jìn)行代碼提交時(shí)報(bào)錯(cuò) ! [rejected] dev -> dev (non-fast-forward) 原因 是本地庫(kù)和遠(yuǎn)程庫(kù)沒(méi)有同步導(dǎo)致無(wú)法提交合并,沖突導(dǎo)致無(wú)法push 解決辦法 情況一:第一次提交,遠(yuǎn)程喝本地分支沒(méi)有關(guān)聯(lián),在原有命令后加 --allow-unrelated-histories 情況二:已經(jīng)進(jìn)行g(shù)it操作,有了關(guān)聯(lián)的

    2024年02月15日
    瀏覽(120)
  • git push報(bào)錯(cuò):![rejected] master -> master(non-fast-forward) error:failed to push some refs to XXX

    背景 本地git庫(kù),要push到gitlab上,執(zhí)行完如下命令后報(bào)錯(cuò): 報(bào)錯(cuò)信息為: 原因 從本地代碼創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù)的時(shí)候,添加了README.md,但本地倉(cāng)庫(kù)中并沒(méi)有該文件。 解決方案 添加忽略不相干的歷史選項(xiàng),將遠(yuǎn)程倉(cāng)庫(kù)中的文件重新拉取到本地,這樣本地文件會(huì)出現(xiàn)README.md: 之后再

    2024年02月04日
    瀏覽(34)
  • master -> master (non-fast-forward) 問(wèn)題解決

    master -> master (non-fast-forward) 問(wèn)題解決

    1、問(wèn)題描述 當(dāng)要push代碼到git時(shí),出現(xiàn)提示: $ git push origin master To ../remote/ ?! [rejected] ? ? ? ?master - master (non-fast-forward) error: failed to push some refs to \\\'../remote/\\\' 2、分析問(wèn)題 ? 因?yàn)榧夹g(shù)的發(fā)展和經(jīng)驗(yàn)的積累,現(xiàn)在的git的功能也越來(lái)越完善,它不僅提示出錯(cuò)(具體原因),還會(huì)給

    2024年02月08日
    瀏覽(22)
  • git push 到gitlib提示! [rejected] master -> master (non-fast-forward) error: failed to push some refs t

    git push 到gitlib提示! [rejected] master -> master (non-fast-forward) error: failed to push some refs t

    一、git push到gitlab提示,大概意思是本地庫(kù)和遠(yuǎn)程庫(kù)沒(méi)有同步導(dǎo)致無(wú)法提交合并,沖突導(dǎo)致無(wú)法push。 二、解決方案 三、操作界面,可以push到gitlab了。 三、參考文章 https://www.cnblogs.com/wml-it/p/15585052.html

    2024年02月06日
    瀏覽(24)
  • ! [rejected] master -> master (non-fast-forward)error: failed to push some refs to

    產(chǎn)生場(chǎng)景 創(chuàng)建倉(cāng)庫(kù)上傳代碼時(shí),發(fā)現(xiàn)git的一個(gè)報(bào)錯(cuò),意思是本地和遠(yuǎn)程不太一樣(第一次提交)。 原因是我們?cè)趧?chuàng)建倉(cāng)庫(kù)是創(chuàng)建了模板和.git忽略文件,這樣使得遠(yuǎn)程和本地內(nèi)容不太一樣。 我們只要在正常上傳倉(cāng)庫(kù)流程push之前把遠(yuǎn)程倉(cāng)庫(kù)內(nèi)容拉取到本地來(lái)。 解決方案 總結(jié):

    2024年02月16日
    瀏覽(62)
  • Git pull報(bào) fatal: Not possible to fast-forward, aborting的解決辦法

    Git pull報(bào) fatal: Not possible to fast-forward, aborting的解決辦法

    1. 問(wèn)題場(chǎng)景 本人使用公司的開(kāi)發(fā)機(jī)Mac, 發(fā)現(xiàn)在Mac 機(jī)上pull代碼時(shí)總會(huì)出現(xiàn)“fatal: Not possible to fast-forward, aborting”。 開(kāi)發(fā)流程:基于release拉取一個(gè)feature分支,然后在feature分支上進(jìn)行開(kāi)發(fā),再把feature分支往master合并,如果有沖突先git pull 一下,然后解決沖突進(jìn)行push。? (rele

    2023年04月08日
    瀏覽(16)
  • Git Clone錯(cuò)誤解決:GnuTLS recv error (-110): The TLS connection was non-properly terminated.

    錯(cuò)誤提示: 到此問(wèn)題解決,可以順暢下載。

    2024年02月13日
    瀏覽(26)
  • git報(bào)超時(shí)錯(cuò)誤解決方法

    在使用git 從遠(yuǎn)程倉(cāng)庫(kù)推送或者拉取時(shí),經(jīng)常會(huì)出現(xiàn)超時(shí)錯(cuò)誤,導(dǎo)致該錯(cuò)誤的原因有很多,在查閱多篇博客,并實(shí)踐后,總結(jié)初以下通用方法,能解決99%的問(wèn)題. 第一種方法:關(guān)閉SSl驗(yàn)證 在git bash輸入 注意:兩條命令都要輸入 第二種方法:關(guān)閉全局代理 在git bash 輸入 注意:兩條命令都要輸

    2024年02月07日
    瀏覽(23)
  • Git基礎(chǔ)教程-常用命令整理:學(xué)會(huì)Git使用方法和錯(cuò)誤解決

    Git基礎(chǔ)教程-常用命令整理:學(xué)會(huì)Git使用方法和錯(cuò)誤解決

    目錄 一、了解Git的基本概念 二、Git的安裝和配置 Git的安裝 Git的配置 用戶信息 文本編輯器 差異分析工具 查看配置信息 三、Git的基本操作 基本原理 基本操作命令 基本操作示例 場(chǎng)景一:創(chuàng)建新倉(cāng)庫(kù) 場(chǎng)景二:拉取并編輯遠(yuǎn)程倉(cāng)庫(kù) 四、常見(jiàn)問(wèn)題及解決方法 解決沖突 git add文件

    2024年02月10日
    瀏覽(30)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包