婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Git上一些修改錯誤操作的命令使用技巧

Git上一些修改錯誤操作的命令使用技巧

熱門標簽:南昌crm外呼系統價格 廈門語音電銷機器人價格 北京電話機器人哪家便宜 在抖音做地圖標注用手機標 長治市400企業電話申請費用 ai外呼系統怎樣掛機賺錢 網絡外呼系統怎么樣 溫州鹿城地圖標注找誰 電話機器人近幾年收費標準

修改錯誤的提交信息commit message
提交信息很長時間內會一直保留在你的代碼庫code base中,所以你肯定希望通過這個信息正確地了解代碼修改情況。 下面這個命令可以讓你編輯最近一次的提交信息,但是你必須確保沒有對當前的代碼庫working copy做修改,否則這些修改也會隨之一起提交。
[/code]
$ git commit --amend -m ”YOUR-NEW-COMMIT-MESSAGE”
[/code]
假如你已經將代碼提交(git commit)推送(git push)到了遠程分支,那么你需要通過下面的命令強制推送這次的代碼提交。

復制代碼
代碼如下:

$ git push remote> branch> --force

從當前Git分支移除未追蹤的本地文件
假設你湊巧有一些未被追蹤的文件(因為不再需要它們),不想每次使用git status命令時讓它們顯示出來。下面是解決這個問題的一些方法:

復制代碼
代碼如下:

$ git clean -f -n # 1
$ git clean -f # 2
$ git clean -fd # 3
$ git clean -fX # 4
$ git clean -fx # 5

(1): 選項-n將顯示執行(2)時將會移除哪些文件。
(2): 該命令會移除所有命令(1)中顯示的文件。
(3): 如果你還想移除文件件,請使用選項-d。
(4): 如果你只想移除已被忽略的文件,請使用選項-X。
(5): 如果你想移除已被忽略和未被忽略的文件,請使用選項-x。
請注意最后兩個命令中X的區別。

修復更早期的 commit

場景: 你在一個更早期的 commit 里忘記了加入一個文件,如果更早的 commit 能包含這個忘記的文件就太棒了。你還沒有 push,但這個 commit 不是最近的,所以你沒法用 commit --amend.

方法:

復制代碼
代碼如下:
git commit --squash SHA of the earlier commit>

復制代碼
代碼如下:
git rebase --autosquash -i even earlier SHA>

原理:

復制代碼
代碼如下:
git commit --squash
會創建一個新的 commit ,它帶有一個 commit 消息,類似于 squash! Earlier commit。 (你也可以手工創建一個帶有類似 commit 消息的 commit,但是 commit --squash 可以幫你省下輸入的工作。)

如果你不想被提示為新合并的 commit 輸入一條新的 commit 消息,你也可以利用 git commit --fixup 。在這個情況下,你很可能會用commit --fixup ,因為你只是希望在 rebase 的時候使用早期 commit 的 commit 消息。


復制代碼
代碼如下:
rebase --autosquash -i
  會激活一個交互式的 rebase 編輯器,但是編輯器打開的時候,在 commit 清單里任何 squash! 和 fixup! 的 commit 都已經配對到目標 commit 上了,如下所示:

在使用 --squash 和 --fixup 的時候,你可能不記得想要修正的 commit 的 SHA 了— 只記得它是前面第 1 個或第 5 個 commit。你會發現 Git 的 ^ 和 ~ 操作符特別好用。HEAD^ 是 HEAD 的前一個 commit。 HEAD~4 是 HEAD 往前第 4 個 – 或者一起算,倒數第 5 個 commit。

 

停止追蹤一個文件

場景: 你偶然把 application.log 加到代碼庫里了,現在每次你運行應用,Git 都會報告在 application.log 里有未提交的修改。你把 *.login 放到了 .gitignore 文件里,可文件還是在代碼庫里 — 你怎么才能告訴 Git “撤銷” 對這個文件的追蹤呢?

方法:

復制代碼
代碼如下:
git rm --cached application.log

原理: 雖然 .gitignore 會阻止 Git 追蹤文件的修改,甚至不關注文件是否存在,但這只是針對那些以前從來沒有追蹤過的文件。一旦有個文件被加入并提交了,Git 就會持續關注該文件的改變。類似地,如果你利用 git add -f 來強制或覆蓋了 .gitignore, Git 還會持續追蹤改變的情況。之后你就不必用-f  來添加這個文件了。

如果你希望從 Git 的追蹤對象中刪除那個本應忽略的文件, git rm --cached 會從追蹤對象中刪除它,但讓文件在磁盤上保持原封不動。因為現在它已經被忽略了,你在  git status 里就不會再看見這個文件,也不會再偶然提交該文件的修改了。


刪除本地和遠程Git分支
刪除本地分支:

復制代碼
代碼如下:

$ git branch --delete --force branchName>

或者使用選項-D作為簡寫:

復制代碼
代碼如下:

$ git branch -D

刪除遠程分支:

復制代碼
代碼如下:

$ git push origin --delete branchName>

標簽:漯河 黃石 法律咨詢 隴南 許昌 荊門 丹東 武漢

巨人網絡通訊聲明:本文標題《Git上一些修改錯誤操作的命令使用技巧》,本文關鍵詞  Git,上,一些,修改,錯誤,操作,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Git上一些修改錯誤操作的命令使用技巧》相關的同類信息!
  • 本頁收集關于Git上一些修改錯誤操作的命令使用技巧的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 锦州市| 福州市| 华亭县| 怀宁县| 芮城县| 新竹县| 桓台县| 永嘉县| 宝应县| 福海县| 申扎县| 阜城县| 榆树市| 武陟县| 都兰县| 奈曼旗| 武宣县| 琼结县| 碌曲县| 大名县| 长春市| 西盟| 泽普县| 红桥区| 永吉县| 宁夏| 汝阳县| 开远市| 故城县| 安陆市| 河北省| 平原县| 建阳市| 铜鼓县| 毕节市| 石城县| 炉霍县| 三明市| 平舆县| 阿克陶县| 新巴尔虎左旗|