新聞中心
在本文中,我們將討論 Git。Git 是一個版本控制系統(tǒng),一個跟蹤代碼更改并與他人共享這些更改的工具。本文列出了 QA 人員/開發(fā)人員應(yīng)該了解的最基本的命令,以便在高層次上掌握 GitHub 存儲庫的管理。再次復(fù)習(xí)基本的日常命令對初學(xué)者和有經(jīng)驗的用戶都有用。

在錫山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都做網(wǎng)站 網(wǎng)站設(shè)計制作按需網(wǎng)站開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,錫山網(wǎng)站建設(shè)費用合理。
在 Git 中設(shè)置用戶名
需要用戶名才能將提交綁定到您的名字。這與用于登錄 GitHub 配置文件的 GitHub 帳戶用戶名不同。git config您可以使用命令設(shè)置或更改用戶名。新名稱將自動顯示在通過命令行推送的后續(xù)提交中。
git config --global user.name "Michael Scott"
您還可以使用命令更改與您的 git 提交關(guān)聯(lián)的電子郵件地址git config。新的電子郵件地址將自動顯示在所有通過命令行提交到 GitHub 的未來提交中。
git config --global user.email "michael.scott@dundermifflin.com"
憑據(jù)緩存
可以使用帶有標(biāo)志的config選項來緩存憑據(jù)。--global這有助于您在創(chuàng)建新提交時無需手動輸入用戶名和密碼。有助于將密碼臨時存儲在內(nèi)存中。
git config --global credential.helper cache
設(shè)置存儲庫
創(chuàng)建一個空的 Git 存儲庫或重新初始化一個現(xiàn)有的。執(zhí)行g(shù)it init會在當(dāng)前工作目錄中創(chuàng)建一個 .git 子目錄,其中包含新存儲庫所有必需的 Git 元數(shù)據(jù)。此元數(shù)據(jù)包括對象、引用和模板文件的子目錄。
git init
將文件添加到暫存區(qū)
該git add命令將工作目錄中的新文件或更改的文件添加到 Git 暫存區(qū)。
添加somefile:
git add somefile.js
添加所有文件:
git add .
回購狀態(tài)檢查
該git status命令顯示工作目錄和暫存區(qū)的狀態(tài)。它可以讓您查看哪些更改已暫存,哪些尚未暫存,以及哪些文件未被 Git 跟蹤。
git status
拍攝變化快照
記錄對存儲庫的更改。此命令用于將更改保存到本地存儲庫。它可以與一些 git 鍵一起使用,例如:
- - m向您的提交添加一條消息
- - a將所有文件暫存到您的提交
- --amend使用任何當(dāng)前暫存的更改或新的提交消息重寫最后一次提交
git commit -m "Commit message"git commit --amendgit commit --amend -m "New message"
檢查 Git 歷史
顯示提交日志。此外,作為 Git 用戶,您可以通過向git log命令添加一些鍵以更高級的方式使用該git log命令。
git log
使用oneline標(biāo)志將每個提交顯示為一行:
git log --oneline
shortlog按作者對每個提交進(jìn)行分組并顯示每個提交消息的第一行:
git shortlog
該--graph選項繪制一個 ASCII 圖,表示提交歷史的分支結(jié)構(gòu)。這通常–oneline與–decorate命令結(jié)合使用,以便更容易地查看哪個提交屬于哪個分支:
git log --graph --oneline --decorate
您還可以限制提交日志輸出的次數(shù):
git log -5
支持過濾 git 歷史記錄,例如按日期、作者、文件或消息:
git log --after="yesterday" --before="2022-10-10"git log --author="Michael"git log -- somefile.jsgit log -S "fix"
顯示變化
git diff顯示提交、提交和工作樹之間的變化。
git diff
指定文件名以顯示其文件正在進(jìn)行的更改:
git diff somefile.js
顯示分支 master 和 develop 之間的變化:
git diff master..develop
文件重命名
您可以使用命令重命名文件或文件夾mv。您應(yīng)該指定源路徑和目標(biāo)路徑。源是實際文件或文件夾,目標(biāo)是現(xiàn)有文件夾。
git mv directory1/somefile.js directory
分支特征
一個分支代表一條獨立的開發(fā)線。分支作為編輯/暫存/提交過程的抽象。該git branch命令允許您創(chuàng)建、列出、重命名和刪除分支。
要創(chuàng)建一個新分支:
git branch branch_name
您也可以將一些鍵傳遞給git branch命令:
- git branch -m
重命名當(dāng)前分支 - git branch -d
刪除本地分支 - git push origin --delete
將更改推送到遠(yuǎn)程通知刪除分支到遠(yuǎn)程原始存儲庫(需要與上一個命令一起使用) - git branch -a顯示所有分支的列表
撤消文件更改
git restore命令有助于取消暫存甚至丟棄未提交的本地更改。該命令可用于撤消您之前添加的 git add 和 unstage 更改的影響。它還可用于丟棄文件中的本地更改,從而恢復(fù)其上次提交的狀態(tài)。
git restore somefile.jsgit restore --staged index.js
使用遠(yuǎn)程命令
git remote管理一組被跟蹤的遠(yuǎn)程存儲庫。
顯示所有遠(yuǎn)程連接的列表:
git remote -v
要更改遠(yuǎn)程 URL:
git remote set-url
要重命名當(dāng)前連接,可以使用下一個命令:
git remote rename
要刪除連接:
git remote remove
將更改保存到剪貼板
git stash將更改隱藏在臟工作目錄中。此命令獲取您未提交的更改(暫存的和未暫存的)并將它們保存起來以備后用。
git stash
可以將幾個鍵添加到命令中:
- git stash隱藏跟蹤文件
- git stash -u隱藏未跟蹤的文件
- git stash -a隱藏所有文件(包括忽略的文件)
該stash命令將您的更改保存到某種更改列表中,您可以使用以下方法訪問它:
git stash list
此外,您可以向您的藏匿處添加一條消息,使用git stash save "message"命令對其進(jìn)行注釋:
git stash save "some comment"
此外,它還支持查看存儲差異:
git stash show
要應(yīng)用存儲保存的更改(它將應(yīng)用存儲列表中的最后一個存儲):
git stash apply
并能夠清除所有藏匿處:
git stash clear
標(biāo)記
git tag標(biāo)記存儲庫歷史記錄中的特定點。
git tag v1.1
要訪問標(biāo)簽列表,請使用git tag -l. 要刪除,只需傳遞特定的 key git tag -d v1.0。列出遠(yuǎn)程標(biāo)簽:git ls-remote --tags. 要重新標(biāo)記(現(xiàn)有標(biāo)記的重命名),只需使用 force key: 發(fā)送git tag -f v1 v1.1,在這種情況下我們v1使用 new重命名v.1.1。
獲取最新的遠(yuǎn)程更改
要獲取本地的最新更改,有兩個 git 命令:git pull和git fetch. 它們之間的主要區(qū)別在于git fetch將下載遠(yuǎn)程內(nèi)容但不會更新本地存儲庫的工作狀態(tài),從而使您當(dāng)前的工作保持不變。我個人使用git fetch帶鍵的命令--prune,這是清理過時分支的最佳實用程序。在獲取之前,刪除遙控器上不再存在的任何遠(yuǎn)程跟蹤引用。git pull相反,將為活動的本地分支下載遠(yuǎn)程內(nèi)容,并立即執(zhí)行合并到您的文件。也git pull可以與 rebase 公共鍵一起使用:git pull -r拉和變基。
撤消更改并恢復(fù)丟失的提交
git cherry-pick用于此目的。git 中的 Cherry-picking 意味著您從一個分支中選擇一個提交并將其應(yīng)用到另一個分支。通常在開發(fā)團(tuán)隊中,這用于發(fā)布階段的快速錯誤修復(fù)(修補程序),或者當(dāng)需要應(yīng)用未合并的提交時。要使用此命令,您應(yīng)該通過提交 sha。
撤消上次提交
在 git 中,有兩種方法可以撤消最后的更改:git revert和git reset. git revert命令創(chuàng)建一個新的提交,撤消先前提交的更改。此命令向項目添加新的歷史記錄。git reset用于撤消工作目錄中尚未提交的更改。重置命令可以與參數(shù)--soft, --mixed,一起使用--hard。默認(rèn)情況下,Git 使用 reset with --mixedkey (uncommit + unstage changes)。開發(fā)人員經(jīng)常使用的是--hard選項(uncommit + unstage + delete changes)。當(dāng)通過--hard提交歷史 ref 指針時,將更新為指定的提交。--soft如果您想取消提交更改,這是一種更準(zhǔn)確的方法,在這種情況下,更改將暫存。
例如,要在 git 上將文件硬重置為 HEAD:
git reset --hard HEAD
在提交或分支之間切換
git checkout使用命令。您可以在提交和分支之間切換,只需將 branch_name/commit_sha 傳遞給git checkout命令即可。此外,您可以使用 checkout 命令創(chuàng)建新的不存在的分支,它將創(chuàng)建新分支并切換到它:
git checkout -b new_branch
要檢查一些提交,其中 5939515 是提交 sha:
git checkout 5939515
找到破壞某些東西的提交
git bisect是你的朋友——Git 中一個非常強大的命令,它有很大幫助。它用于將兩個提交指向邊緣情況,然后重新傳遞這兩個點之間的所有提交歷史記錄(如果存在某些特定的失敗,則逐個提交標(biāo)記)。要使用,首先,您應(yīng)該開始使用工具進(jìn)行初始化:
git bisect start
然后我們應(yīng)該將兩個邊緣情況標(biāo)記為壞點和好點:
git bisect badgit checkout commitgit bisect good
通過提交你可以很容易地找到錯誤的提交,可能引入了一些錯誤/錯誤。
顯示誰對所選文件進(jìn)行了更改
git blame命令用于此。主要目的是顯示所選文件的日志,顯示誰以及何時對此文件進(jìn)行了更改。
git blame somefile.js
這將顯示對該文件所做的提交、作者、日期和提交消息的列表。該命令可用于傳遞一些鍵,例如-e在日志中顯示作者的電子郵件地址,-L 1-7以限制和僅顯示 7 行輸出。git blame和之間的主要區(qū)別在于git log,blame可以告訴您最后修改每行代碼的人是誰以及何時。
分享文章:每個 QA 工程師都應(yīng)該知道的 20 個 Git 基本命令
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/dheseij.html


咨詢
建站咨詢
