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

idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用)

這篇具有很好參考價(jià)值的文章主要介紹了idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前言:

IDEA 中 Git 文件顏色

白色:已經(jīng)加入版本控制,已提交,無(wú)改動(dòng)
藍(lán)色:已經(jīng)加入版本控制,已提交,有改動(dòng)
綠色:已經(jīng)加入版本控制,還未提交
紅色:未加入版本控制
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java

Git 本地?cái)?shù)據(jù)管理-三大區(qū)

工作區(qū),暫存區(qū),版本庫(kù)
● 工作區(qū):項(xiàng)目目錄,開(kāi)發(fā)存放代碼的地方。
● 暫存區(qū):數(shù)據(jù)暫時(shí)存放的地方。待提交區(qū),存放有修改的文件的地方。git add 之后,commit 之前
● 版本庫(kù)(本地倉(cāng)庫(kù)):存放已經(jīng)提交的數(shù)據(jù)。commit 之后,push 時(shí),就是把這個(gè)區(qū)的數(shù)據(jù) push 到遠(yuǎn)程倉(cāng)庫(kù)
開(kāi)發(fā)者在工作區(qū)對(duì)代碼進(jìn)行修改,修改的文件 git add 添加到暫存區(qū),然后把暫存區(qū)的代碼 commit 提交到版本庫(kù),最后把版本庫(kù)中的數(shù)據(jù) push 到遠(yuǎn)程倉(cāng)庫(kù)。
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,javaps:此圖copy某位大佬的,畫(huà)得真好

提交錯(cuò)了,還未 push 時(shí)回退此次提交

idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java

Undo Commit:commit了,但未push時(shí)

● 比較常用,比如說(shuō)忘了切分支,不小心在master分支上做了修改,并commit了,但還沒(méi)有push,想要撤回提交,但不想丟棄掉剛剛修改的內(nèi)容,就可以使用 Undo Commit。
● 只是 commit 了,并沒(méi)有 push 時(shí),使用 Undo Commit,會(huì)把提交的代碼恢復(fù)成未提交,并且那條提交記錄也不復(fù)存在
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java

Revert Commit:commit了,但未push時(shí)

● 只是 commit 了,并沒(méi)有 push 時(shí),使用 revert commit,會(huì)丟失掉這條提交的修改內(nèi)容,并且會(huì)多生產(chǎn)一條 Revert 的提交記錄
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java

Drop Commit:commit了,但未push時(shí)

● 慎用
● 只是 commit 了,并沒(méi)有 push 時(shí),使用 drop commit,不僅那條提交記錄的修改數(shù)據(jù)被丟棄掉了,連著提交記錄也被刪除了
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java

提交錯(cuò)了,并 push 到了遠(yuǎn)程時(shí)回退此次提交

Revert Commit:commit+push

比較常用,比如業(yè)務(wù)提了一個(gè)需求,我開(kāi)發(fā)完了,并且 push 到了 dev,后面又說(shuō)這個(gè)需求不用了,這個(gè)時(shí)候就需要用到 revert commit 把這次提交的修改回滾掉。
單個(gè)分支示例:
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,javaidea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java
多個(gè)分支示例:
● dev 開(kāi)發(fā)分支
● 從 master/dev 分支切出一個(gè) bugfix-01 分支
● 其他分支的修改往 dev 合
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java
使用 revert commit
● 在 bugfix-01 分支上進(jìn)行 revert commit:commit 后直接 push。 該分支此次提交的內(nèi)容會(huì)被丟棄,并生成一條 Revert 的提交記錄。然后把該分支往 dev 上合并,這樣 dev 上的這個(gè)修改的內(nèi)容也會(huì)被丟棄。

● 在 dev 分支上進(jìn)行 revert commit:commit 后直接 push。dev 分支此次提交的內(nèi)容會(huì)被丟棄,但 bugfix-01 分支上還保留著這次的修改。
○ 適用場(chǎng)景:bugfix-01 分支的內(nèi)容還未測(cè)試通過(guò),不小心合到了生產(chǎn)環(huán)境(master),這個(gè)時(shí)候就只能在 master 分支上對(duì)此次提交內(nèi)容進(jìn)行 revert commit,而不在 bugfix-01 分支上進(jìn)行,應(yīng)該 bugfix-01 還需要在這次修改的基礎(chǔ)上繼續(xù)修改
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java
以上都是單個(gè)提交點(diǎn)的情況,多個(gè)提交點(diǎn)時(shí):
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java

Reset 使用

reset current branch to here:重置當(dāng)前分支到此提交點(diǎn)。和 Revert 完全不同,revert 是只回滾當(dāng)前提交點(diǎn)的內(nèi)容,而 reset 是當(dāng)前提交點(diǎn)后的修改內(nèi)容全部回滾。reset 不會(huì)生成新的提交點(diǎn),revert 會(huì)生成新的提交點(diǎn)。reset 得強(qiáng)制 push,revert 正常 push 即可。
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java

idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java

reset current branch to here:Soft

● Soft:此提交點(diǎn)往后的修改會(huì)回到待提交區(qū),本地其他的修改也不會(huì)被丟棄。強(qiáng)制 push 后,該提交點(diǎn)往后的提交記錄都會(huì)被刪除
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,javaidea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java

reset current branch to here:Mixed

● Mixed:此提交點(diǎn)往后的修改會(huì)回到待提交區(qū),本地其他的修改會(huì)被放到工作區(qū),而不是暫存區(qū)(待提交區(qū))。強(qiáng)制 push 后,該提交點(diǎn)往后的提交記錄都會(huì)被刪除
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java

reset current branch to here:Hard

● Hard:慎用。此提交點(diǎn)往后的修改會(huì)不回到待提交區(qū),而是直接被丟棄。本地其他的修改也會(huì)被丟棄。強(qiáng)制 push 后,該提交點(diǎn)往后的提交記錄都會(huì)被刪除
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java

reset current branch to here:Keep

● Keep:此提交點(diǎn)往后的修改不會(huì)回到待提交區(qū),而是直接被丟棄。本地其他的修改會(huì)被放到工作區(qū),而不是暫存區(qū)(待提交區(qū))。強(qiáng)制 push 后,該提交點(diǎn)往后的提交記錄都會(huì)被刪除
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java

IDEA git 代碼臨時(shí)儲(chǔ)藏區(qū)(Stash Changes)

Stash Changes:暫存變動(dòng)
Unstash Changes:恢復(fù)暫存變動(dòng)
如果本地文件有改動(dòng),且和服務(wù)器最新版本有沖突,pull 更新時(shí)會(huì)提示錯(cuò)誤,無(wú)法更新;或者切換到其他分支時(shí),會(huì)提示沖突;此時(shí)要么 commit 自己的改動(dòng)再 pull,要么使用 Stash Changes 將改動(dòng)先存儲(chǔ)下來(lái)再 pull。
stash 的好處就是可以先將改動(dòng)暫存到本地倉(cāng)庫(kù)中,不用擔(dān)心 push 到服務(wù)器,因?yàn)?Stash Changes 的內(nèi)容不參與 commit 和 push。而且,stash 中的改動(dòng)可以隨時(shí)取出來(lái)(Unstash Changes)再用

idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java

Cherry-Pick

● 獲取某一個(gè)分支的單筆提交,并作為一個(gè)新的提交引入到你當(dāng)前分支上
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java
idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用),intellij-idea,git,java文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-754274.html

到了這里,關(guān)于idea中g(shù)it相關(guān)知識(shí)(revert,reset,stash/unstash changes使用)的文章就介紹完了。如果您還想了解更多內(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)文章

  • idea 工作中常用的 git 技巧: ChangeList,Stash Changes

    在使用idea提交代碼的時(shí)候,經(jīng)常會(huì)遇到配置文件和工具類(lèi)或者測(cè)試類(lèi)不想commit的情況。 但每次commit都會(huì)因?yàn)楦鞣N文件混在一起,需要仔細(xì)看。 這個(gè)時(shí)候,需要用到ChangeList。 在commit的彈出的文件界面里,選中你不想commit的文件,右鍵,move to another changelist,給這個(gè)changelist取

    2024年02月03日
    瀏覽(15)
  • Git 基礎(chǔ)知識(shí)--stash 存儲(chǔ)、reset 回退及恢復(fù)

    Git 基礎(chǔ)知識(shí)--stash 存儲(chǔ)、reset 回退及恢復(fù)

    簡(jiǎn)介 Git 提供了 stash 存儲(chǔ)的功能,即當(dāng)你在工作到一半突然需要切換到另一個(gè)分支上,但又不想提交時(shí),可將當(dāng)前做出的修改通過(guò) git stash 命令存儲(chǔ)起來(lái),之后再?gòu)钠渲兄匦伦x取之前的狀態(tài)。 注意事項(xiàng) 若修改的文件沒(méi)有執(zhí)行 git add 即未被跟蹤,則該文件不會(huì)被 git stash 存儲(chǔ),

    2023年04月10日
    瀏覽(46)
  • Your local changes would be overwritten by merge. Commit, stash or revert them to proceed.

    前言 這個(gè)錯(cuò)誤的意思是在執(zhí)行Git pull命令后,被拉取(pull)的遠(yuǎn)程倉(cāng)庫(kù)版本和本地倉(cāng)庫(kù)當(dāng)前的版本產(chǎn)生了沖突,Git 不知道該如何處理這個(gè)沖突,因此在控制臺(tái)輸出此錯(cuò)誤并停止執(zhí)行。 解決方法 要解決這個(gè)問(wèn)題,你需要處理本地倉(cāng)庫(kù)中的變更記錄,使其與遠(yuǎn)程倉(cāng)庫(kù)版本保持一

    2024年02月16日
    瀏覽(19)
  • Git reset、revert用法

    reset是刪除之前的提交記錄,所有的提交點(diǎn)都會(huì)被清除,我們看下執(zhí)行前后的git log區(qū)別 執(zhí)行完成后發(fā)現(xiàn)個(gè)人分支第三個(gè)提交好像從來(lái)沒(méi)有出現(xiàn)過(guò)一樣,建議不要使用reset,畢竟會(huì)把別人的提交點(diǎn)徹底刪除 revert 將指定提交的代碼給清除掉,提交記錄還存在,相當(dāng)于添加一個(gè)新

    2024年02月10日
    瀏覽(17)
  • git的 reset 和 revert 區(qū)別

    git的 reset 和 revert 區(qū)別

    線上master分支不可信,需要回到某個(gè)分支; 但是很多人習(xí)慣把一個(gè)需求,分多次commit,于是會(huì)出現(xiàn)下面這種情況 基于這種情況,git revert 就不如 git reset好用,可以借助Idea,直接通過(guò) git reset --hard 指向需要回退到的commit,然后隨便找個(gè)地方,敲上一個(gè)空格,產(chǎn)生一次新的commi

    2024年03月21日
    瀏覽(58)
  • git reset 命令詳解 git revert命令詳解。

    git reset 命令詳解 git revert命令詳解。

    git reset 命令格式為: git reset [ --soft | --mixed | --hard ] [ commitid ] 在git的這些命令中g(shù)it reset是最長(zhǎng)常用的,也是最危險(xiǎn)的最容易被誤用的。它的主要參數(shù)是:soft,mixed,hard它們告訴git,當(dāng)執(zhí)行reset是,要對(duì)index和working copy做什么。 soft: –soft參數(shù)只將其它的commit重置到你選定的HEAD,

    2024年02月15日
    瀏覽(35)
  • git 的rebase、reset、revert區(qū)別?

    rebase 、 reset 、和 revert 是 Git 中用于修改提交歷史的三個(gè)不同的命令,它們的作用和效果有所不同。 1. rebase : git rebase 用于將一個(gè)分支的提交移到另一個(gè)分支上,并重新應(yīng)用這些提交。主要有兩種用途: 整理提交歷史 :將多個(gè)小的提交合并成一個(gè)更為清晰的提交歷史,避免

    2024年01月21日
    瀏覽(30)
  • git:代碼回退restore 、reset、revert

    git:代碼回退restore 、reset、revert

    友好提示看這篇需要對(duì)git有一定了解!!! git中有很幾個(gè)關(guān)于代碼回退的命令:restore 、reset、revert ,初學(xué)git的同學(xué)們可能搞不清楚什么時(shí)候該用哪個(gè),根據(jù)我的一點(diǎn)點(diǎn)經(jīng)驗(yàn),簡(jiǎn)單介紹一下它們,希望能幫到大家 (我的水平有限,內(nèi)容僅供參考 . ,哪里有問(wèn)題,歡迎指出) 一: restore(恢復(fù)) 針對(duì)

    2024年02月05日
    瀏覽(45)
  • git代碼回滾是使用reset還是revert

    git代碼回滾是使用reset還是revert

    時(shí)光不能回退,Git卻允許我們改變歷史。 想要讓Git回退歷史,有以下步驟: 快捷命令: 【注:HEAD是指向當(dāng)前版本的指針,HEAD^表示上個(gè)版本,HEAD^^表示上上個(gè)版本】 如果修改到的文件比較少,我們可以不通過(guò)命令回滾的方式,手動(dòng)刪除之前的修改,再進(jìn)行提交。 reset和reve

    2024年02月07日
    瀏覽(96)
  • 【git 使用】超級(jí)好用的 git reset 和 git revert 功能對(duì)比和使用方法

    【git 使用】超級(jí)好用的 git reset 和 git revert 功能對(duì)比和使用方法

    首先你要知道 git 區(qū)分暫存區(qū)和工作區(qū),如果你用過(guò) sourcetree 你就會(huì)知道 git reset 命令用于將當(dāng)前分支的 HEAD 指針移動(dòng)到指定的提交,并且可以選擇性地修改工作區(qū)和暫存區(qū)的狀態(tài)。 git reset 命令有幾種常用的用法,主要包括: git reset --soft commit-id: ?被 reset 的提交會(huì)放到暫存

    2024年02月20日
    瀏覽(20)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包