」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > git | git技巧和竅門

git | git技巧和竅門

發佈於2024-07-31
瀏覽:625

Git | Tips and Tricks

筆記
您可以查看我個人網站上的其他帖子:https://hbolajraf.net

Git 提示和技巧

Git 是一個強大的版本控制系統,可讓您的開發工作流程更有效率。以下是一些提示和技巧,可幫助您充分利用 Git。

配置 Git

在開始使用 Git 之前,最好使用您的姓名和電子郵件地址進行配置。此資訊將與您的提交相關聯。

git config --global user.name "hbolajraf"
git config --global user.email "[email protected]"

您也可以設定其他配置,例如您的首選文字編輯器和預設分支。

基本指令

1. 初始化儲存庫:要啟動新的 Git 儲存庫,請在專案目錄中使用 git init 。

2. 複製儲存庫:若要從遠端 URL 複製儲存庫,請使用 git clone

3. 提交更改:進行更改後,使用 git commit -m "Your commit message" 儲存變更。

4. 檢查狀態:使用 git status 查看工作目錄的狀態。

分枝

分支機構對於管理不同的開發線至關重要。

1. 建立分支:使用 gitbranch 建立新分支。

2. 切換分支:要切換到不同的分支,請使用 git checkout

3. 合併分支:使用 git merge 將一個分支的變更合併到另一個分支。

4. 刪除分支:使用 gitbranch -d 刪除分支。

藏匿

當您需要暫時儲存變更時,隱藏非常有用。

1. Stash Changes:使用 git stash 儲存變更。

2. Apply Stash:若要重新套用更改,請使用 git stash apply。

3. 列出儲存:使用 git stash list 查看儲存清單。

互動式變基

互動式變基可讓您修改提交歷史記錄。

1. 互動式變基:使用 git rebase -i HEAD~n 以互動方式對最後 n 次提交進行變基。

2. 編輯提交:將“pick”更改為“edit”以修改提交。

3. 修改提交:使用 git commit --amend 編輯目前提交。

Git 別名

Git 別名可讓您建立 Git 指令的捷徑。

1. 建立別名:為全域 Git 設定新增別名。

git config --global alias.co checkout

2. 用法:現在,您可以使用 git co 作為 git checkout 的簡寫。

Git 鉤子

Git 掛鉤是在某些 Git 事件上自動執行的腳本。

1. Pre-Commit Hook:建立 .git/hooks/pre-commit 腳本以在提交之前執行操作。

2. Post-Receive Hook:在伺服器的 Git 儲存庫中,建立一個 hooks/post-receive 腳本以在收到推播後執行操作。

忽略文件

您可以使用 .gitignore 檔案指定要忽略的檔案或模式。

1. 建立 .gitignore:建立一個名為 .gitignore 的文件,並列出要忽略的文件、目錄或模式。

2. 範例.gitignore

# Ignore build artifacts
bin/
obj/

# Ignore log files
*.log

# Ignore a specific directory
docs/

接下來是什麼?

這些提示和技巧將幫助您更熟練地使用 Git,讓您的版本控制任務更加高效,讓您的開發流程更加順暢。

版本聲明 本文轉載於:https://dev.to/hbolajraf/git-tips-and-tricks-5326?1如有侵犯,請洽[email protected]刪除
最新教學 更多>
  • 您如何在Laravel Blade模板中定義變量?
    您如何在Laravel Blade模板中定義變量?
    在Laravel Blade模板中使用Elegance 在blade模板中如何分配變量對於存儲以後使用的數據至關重要。在使用“ {{}}”分配變量的同時,它可能並不總是最優雅的解決方案。 幸運的是,Blade通過@php Directive提供了更優雅的方法: $ old_section =...
    程式設計 發佈於2025-03-28
  • Python讀取CSV文件UnicodeDecodeError終極解決方法
    Python讀取CSV文件UnicodeDecodeError終極解決方法
    在試圖使用已內置的CSV模塊讀取Python中時,CSV文件中的Unicode Decode Decode Decode Decode decode Error讀取,您可能會遇到錯誤的錯誤:無法解碼字節 在位置2-3中:截斷\ uxxxxxxxx逃脫當CSV文件包含特殊字符或Unicode的路徑逃...
    程式設計 發佈於2025-03-28
  • 為什麼我會收到MySQL錯誤#1089:錯誤的前綴密鑰?
    為什麼我會收到MySQL錯誤#1089:錯誤的前綴密鑰?
    mySQL錯誤#1089:錯誤的前綴鍵錯誤descript [#1089-不正確的前綴鍵在嘗試在表中創建一個prefix鍵時會出現。前綴鍵旨在索引字符串列的特定前綴長度長度,可以更快地搜索這些前綴。 了解prefix keys `這將在整個Movie_ID列上創建標準主鍵。主密鑰對於唯一識...
    程式設計 發佈於2025-03-28
  • 大批
    大批
    [2 數組是對象,因此它們在JS中也具有方法。 切片(開始):在新數組中提取部分數組,而無需突變原始數組。 令ARR = ['a','b','c','d','e']; // USECASE:提取直到索引作...
    程式設計 發佈於2025-03-28
  • 為什麼PYTZ最初顯示出意外的時區偏移?
    為什麼PYTZ最初顯示出意外的時區偏移?
    與pytz 最初從pytz獲得特定的偏移。例如,亞洲/hong_kong最初顯示一個七個小時37分鐘的偏移: 差異源利用本地化將時區分配給日期,使用了適當的時區名稱和偏移量。但是,直接使用DateTime構造器分配時區不允許進行正確的調整。 example pytz.timezone(&#...
    程式設計 發佈於2025-03-28
  • 如何將多種用戶類型(學生,老師和管理員)重定向到Firebase應用中的各自活動?
    如何將多種用戶類型(學生,老師和管理員)重定向到Firebase應用中的各自活動?
    Red: How to Redirect Multiple User Types to Respective ActivitiesUnderstanding the ProblemIn a Firebase-based voting app with three distinct user type...
    程式設計 發佈於2025-03-28
  • 您可以使用CSS在Chrome和Firefox中染色控制台輸出嗎?
    您可以使用CSS在Chrome和Firefox中染色控制台輸出嗎?
    在javascript console 中顯示顏色是可以使用chrome的控制台顯示彩色文本,例如紅色的redors,for for for for錯誤消息? 回答是的,可以使用CSS將顏色添加到Chrome和Firefox中的控制台顯示的消息(版本31或更高版本)中。要實現這一目標,請使用以下...
    程式設計 發佈於2025-03-28
  • 如何在無序集合中為元組實現通用哈希功能?
    如何在無序集合中為元組實現通用哈希功能?
    在未訂購的集合中的元素要糾正此問題,一種方法是手動為特定元組類型定義哈希函數,例如: template template template 。 struct std :: hash { size_t operator()(std :: tuple const&tuple)const {...
    程式設計 發佈於2025-03-28
  • 如何在Java中執行命令提示命令,包括目錄更改,包括目錄更改?
    如何在Java中執行命令提示命令,包括目錄更改,包括目錄更改?
    在java 通過Java通過Java運行命令命令可能很具有挑戰性。儘管您可能會找到打開命令提示符的代碼段,但他們通常缺乏更改目錄並執行其他命令的能力。 solution:使用Java使用Java,使用processBuilder。這種方法允許您:啟動一個過程,然後將其標準錯誤重定向到其標準輸出...
    程式設計 發佈於2025-03-28
  • 為什麼PHP的DateTime :: Modify('+1個月')會產生意外的結果?
    為什麼PHP的DateTime :: Modify('+1個月')會產生意外的結果?
    使用php dateTime修改月份:發現預期的行為在使用PHP的DateTime類時,添加或減去幾個月可能並不總是會產生預期的結果。正如文檔所警告的那樣,“當心”這些操作的“不像看起來那樣直觀。 考慮文檔中給出的示例:這是內部發生的事情: 現在在3月3日添加另一個月,因為2月在2001年只有2...
    程式設計 發佈於2025-03-28
  • 如何從PHP中的Unicode字符串中有效地產生對URL友好的sl。
    如何從PHP中的Unicode字符串中有效地產生對URL友好的sl。
    為有效的slug生成首先,該函數用指定的分隔符替換所有非字母或數字字符。此步驟可確保slug遵守URL慣例。隨後,它採用ICONV函數將文本簡化為us-ascii兼容格式,從而允許更廣泛的字符集合兼容性。 接下來,該函數使用正則表達式刪除了不需要的字符,例如特殊字符和空格。此步驟可確保slug僅包...
    程式設計 發佈於2025-03-28
  • 如何在Java字符串中有效替換多個子字符串?
    如何在Java字符串中有效替換多個子字符串?
    在java 中有效地替換多個substring,需要在需要替換一個字符串中的多個substring的情況下,很容易求助於重複應用字符串的刺激力量。 However, this can be inefficient for large strings or when working with nu...
    程式設計 發佈於2025-03-28
  • 如何配置Pytesseract以使用數字輸出的單位數字識別?
    如何配置Pytesseract以使用數字輸出的單位數字識別?
    Pytesseract OCR具有單位數字識別和僅數字約束 在pytesseract的上下文中,在配置tesseract以識別單位數字和限制單個數字和限制輸出對數字可能會提出質疑。 To address this issue, we delve into the specifics of Te...
    程式設計 發佈於2025-03-28
  • 哪種在JavaScript中聲明多個變量的方法更可維護?
    哪種在JavaScript中聲明多個變量的方法更可維護?
    在JavaScript中聲明多個變量:探索兩個方法在JavaScript中,開發人員經常遇到需要聲明多個變量的需要。對此的兩種常見方法是:在單獨的行上聲明每個變量: 當涉及性能時,這兩種方法本質上都是等效的。但是,可維護性可能會有所不同。 第一個方法被認為更易於維護。每個聲明都是其自己的語句,使...
    程式設計 發佈於2025-03-28
  • 為什麼使用固定定位時,為什麼具有100%網格板柱的網格超越身體?
    為什麼使用固定定位時,為什麼具有100%網格板柱的網格超越身體?
    網格超過身體,用100%grid-template-columns 為什麼在grid-template-colms中具有100%的顯示器,當位置設置為設置的位置時,grid-template-colly修復了? 問題: 考慮以下CSS和html: class =“ snippet-code”> ...
    程式設計 發佈於2025-03-28

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3