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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

Git 常用操作(4)- 更改提交

發(fā)布時(shí)間:2023/11/28 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Git 常用操作(4)- 更改提交 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. git reset —— 回溯歷史版本

  1. 回溯到創(chuàng)建feature-A 分支前

    讓我們先回溯到上一節(jié)feature-A分支創(chuàng)建之前,創(chuàng)建一個(gè)名為fix-B 的特性分支。

    要讓倉(cāng)庫(kù)的HEAD、暫存區(qū)、當(dāng)前工作樹回溯到指定狀態(tài),需要用到git rest --hard命令。只要提供目標(biāo)時(shí)間點(diǎn)的哈希值A(chǔ),就可以完全恢復(fù)至該時(shí)間點(diǎn)的狀態(tài)。

    $ git reset --hard fd0cbf0d4a25f747230694d95cac1be72d33441d
    HEAD is now at fd0cbf0 Add index
    
  2. 推進(jìn)至feature-A 分支合并后的狀態(tài)

    git log命令只能查看以當(dāng)前狀態(tài)為終點(diǎn)的歷史日志。所以這里要使用git reflog命令,查看當(dāng)前倉(cāng)庫(kù)的操作日志。在日志中找出回溯歷史之前的哈希值,通過git reset --hard命令恢復(fù)到回溯歷史前的狀態(tài)。

    首先執(zhí)行g(shù)it reflog 命令,查看當(dāng)前倉(cāng)庫(kù)執(zhí)行過的操作的日志。

      $ git reflog4096d9e HEAD@{0}: commit: Fix Bfd0cbf0 HEAD@{1}: checkout: moving from master to fix-Bfd0cbf0 HEAD@{2}: reset: moving to fd0cbf0d4a25f747230694d95cac1be72d33441d83b0b94 HEAD@{3}: merge feature-A: Merge made by the 'recursive' strategy.fd0cbf0 HEAD@{4}: checkout: moving from feature-A to master8a6c8b9 HEAD@{5}: checkout: moving from master to feature-Afd0cbf0 HEAD@{6}: checkout: moving from feature-A to master8a6c8b9 HEAD@{7}: commit: Add feature-Afd0cbf0 HEAD@{8}: checkout: moving from master to feature-Afd0cbf0 HEAD@{9}: commit: Add index9f129ba HEAD@{10}: commit (initial): First commit
    

    從上面數(shù)第四行表示feature-A 特性分支合并后的狀態(tài),對(duì)應(yīng)哈希值為83b0b94A。我們將HEAD、暫存區(qū)、工作樹恢復(fù)到這個(gè)時(shí)間點(diǎn)的狀態(tài)。

       $ git checkout master$ git reset --hard 83b0b94HEAD is now at 83b0b94 Merge branch 'feature-A'
    

2. 消除沖突

    $ git merge --no-ff fix-BAuto-merging README.mdCONFLICT (content): Merge conflict in README.mdRecorded preimage for 'README.md'Automatic merge failed; fix conflicts and then commit the result.

系統(tǒng)告訴我們README 文件發(fā)生了沖突(Conflict)。系統(tǒng)在合并README文件時(shí),feature-A 分支更改的部分與本次想要合并的 fix-B 分支更改的部分發(fā)生了沖突。

  1. 查看沖突部分并將其解決

    用編輯器打開README 文件,就會(huì)發(fā)現(xiàn)其內(nèi)容變成了下面這個(gè)樣子。

    # Git教程
    <<<<<<< HEAD
    - feature-A
    =======
    - fix-B
    >>>>>>> fix-B
    

    ======= 以上的部分是當(dāng)前 HEAD 的內(nèi)容,以下的部分是要合并的 fix-B 分支中的內(nèi)容。我們?cè)诰庉嬈髦袑⑵涓某上胍臉幼印?/p>

    # Git教程
    - feature-A
    - fix-B
    

    如上所示,本次修正讓feature-A 與fix-B 的內(nèi)容并存于文件之中。但是在實(shí)際的軟件開發(fā)中,往往需要?jiǎng)h除其中之一,所以各位在處理沖突時(shí),務(wù)必要仔細(xì)分析沖突部分的內(nèi)容后再行修改。

3. git commit --amend —— 修改提交信息

4. git rebase -i —— 壓縮歷史

總結(jié)

以上是生活随笔為你收集整理的Git 常用操作(4)- 更改提交的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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