新聞中心
如果你不熟悉基本的 git 命令,在閱讀本文前可以先參考我之前寫(xiě)的關(guān)于 Git 工作流程的文章。

成都創(chuàng)新互聯(lián)公司專注于元江縣網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供元江縣營(yíng)銷(xiāo)型網(wǎng)站建設(shè),元江縣網(wǎng)站制作、元江縣網(wǎng)頁(yè)設(shè)計(jì)、元江縣網(wǎng)站官網(wǎng)定制、重慶小程序開(kāi)發(fā)服務(wù),打造元江縣網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供元江縣網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
地址:https://towardsdatascience.com/learn-enough-git-to-be-useful-281561eef959
本文介紹了 10 個(gè)常見(jiàn)的命令以及它們的一些參數(shù)。每個(gè)命令都可以鏈接到該命令的 Atlassian Bitbucket 指南。
1. 檢查
先了解一下如何檢查改動(dòng)痕跡。
- git diff——查看所有本地文件的改動(dòng)。只改動(dòng)一個(gè)文件的話可以在命令后添加文件名。
- git log——查看所有提交歷史。還可用于帶有 git log –p my_file 的文件,輸入 q 退出。
- git blame my file——了解誰(shuí)在什么時(shí)候?qū)?my_file 做了什么樣的改動(dòng)。
- git reflog——顯示本地代碼庫(kù) HEAD 的更改日志。這個(gè)命令很適合查找丟失的工作。
用 Git 進(jìn)行檢查并不麻煩。相比之下,Git 中有不少刪除和撤銷(xiāo)提交以及文件改動(dòng)的操作。
2. 撤銷(xiāo)
可以用 git reset、git checkout 和 git revert 撤銷(xiāo)在代碼庫(kù)中所做的改動(dòng),這些命令可能有點(diǎn)難理解。
git reset 和 git checkout 既可用于提交也可用于單個(gè)文件的修改,而 git revert 只能用在提交層面。如果你只需要處理尚未合并到協(xié)作遠(yuǎn)程工作的本地提交,你可以使用這三者中任何一條命令。如果是協(xié)同工作且需要撤銷(xiāo)遠(yuǎn)程分支中的提交,那么就用 git revert。
這些命令中的每一條都有多個(gè)參數(shù)。以下是常見(jiàn)的用法:
- git reset –-hard HEAD——撤銷(xiāo)最近提交以來(lái)暫存區(qū)和非暫存區(qū)的改動(dòng)。
指定不同的提交而不是 HEAD,以撤銷(xiāo)自這條提交以來(lái)的更改。--hard 指的是撤銷(xiāo)暫存區(qū)和非暫存區(qū)的更改。
要確保你撤銷(xiāo)的不是協(xié)作伙伴所依賴的遠(yuǎn)程分支的提交。
- git checkout my commit——從 my_commit 中撤銷(xiāo)非暫存區(qū)的改動(dòng)。
HEAD 常用在 my_commit,用來(lái)撤銷(xiāo)最近一次提交以來(lái)在本地工作目錄的改動(dòng)。
checkout 最適合用于僅限于本地的撤銷(xiāo)。它不會(huì)破壞你的協(xié)作伙伴所依賴的遠(yuǎn)程分支的提交歷史。
如果你將 checkout 用在分支而不是提交上,HEAD 將會(huì)切換到指定分支,并更新成匹配的工作目錄。這是 checkout 命令更常見(jiàn)的用法。
- Git revert my commit——撤銷(xiāo) my_commit 中的更改。當(dāng)用 revert 撤銷(xiāo)改動(dòng)時(shí),它會(huì)產(chǎn)生新的提交。
對(duì)協(xié)作項(xiàng)目而言,revert 是很安全的,因?yàn)樗粫?huì)覆蓋其他用戶分支可能依賴的歷史記錄。
revert 很安全
有時(shí)候你只想刪除本地目錄中的未追蹤文件。例如,也許你運(yùn)行的代碼在版本庫(kù)中創(chuàng)建了許多你不需要的不同類型的文件。你可以一鍵清除它們!
- Git clean –n——?jiǎng)h除本地工作目錄中的未追蹤文件。
- –n 表示試運(yùn)行,在試運(yùn)行中什么都不會(huì)刪除。
- -f 表示實(shí)際刪除文件。
- -d 表示刪除未追蹤的目錄。
默認(rèn)情況下不會(huì)刪除 .gitignore 中的未追蹤文件,但這種行為是可以更改的。
現(xiàn)在你已經(jīng)知道了 Git 中用于撤銷(xiāo)操作的命令,接下來(lái)我們?cè)倏磧蓷l可以有序排列文件的命令。
整理
- Git commit –amend——將暫存區(qū)的更改添加到最近一次提交中。
如果暫存區(qū)中什么都沒(méi)有,你可以用該命令編輯***的提交信息。只有在提交尚未整合到遠(yuǎn)程主分支中時(shí)才使用該命令!
- Git push my remote –tags——將所有本地標(biāo)記發(fā)送到遠(yuǎn)程版本庫(kù)中。適用于版本變更。
如果你用的是 Python,并希望更改你所構(gòu)建的包,bump2version 會(huì)自動(dòng)為你創(chuàng)建標(biāo)簽。一旦將標(biāo)簽推送出去,你就可以在自己的版本中使用了。這里有一篇我的指南,可以指導(dǎo)你完成***個(gè) OSS Python 包。跟緊我,確保你不會(huì)錯(cuò)過(guò)版本控制的部分!
指南:
https://towardsdatascience.com/build-your-first-open-source-python-project-53471c9942a7?source=friends_link&sk=576540dbd90cf2ee72a3a0e0bfa72ffb
求助,我被困在 Vim 中出不去了!
使用 Git 時(shí),你可能偶爾會(huì)發(fā)現(xiàn)自己被困在 Vim 會(huì)話中了。例如,你試著在沒(méi)有提交信息的情況下提交,Vim 會(huì)自動(dòng)開(kāi)啟。如果你不知道 Vim 的話,這種情況糟糕透了——在這個(gè)關(guān)于如何擺脫這一困境的 Stack Overflow 回答下有超過(guò) 4,000 的投票。
以下四步用于在已保存的文件中逃離 Vim:
- 按 i 進(jìn)入插入模式
- 在***行輸入你的提交信息
- 按下退出鍵——Esc
- 輸入 :x。別忘了冒號(hào)(colon)。
更改默認(rèn)編輯器
為了避免使用 Vim,可以更改 Git 中的默認(rèn)編輯器。以下是更改我使用的編輯器 Atom 的默認(rèn)值的命令:
- git config --global core.editor "atom --wait"
假設(shè)你已經(jīng)安裝了 Atom,你現(xiàn)在就可以在 Atom 中解決 Git 問(wèn)題了。
創(chuàng)建 Git 命令的快捷鍵
在 .bash_profile 中添加以下 alias 命令可以給 Git 命令添加快捷鍵:
- alias gs='git status '
- alias ga='git add '
- alias gaa='git add -A '
- alias gb='git branch '
- alias gc='git commit '
- alias gcm='git commit -m '
- alias go='git checkout '
你可以調(diào)整上述命令,來(lái)為任何 Git 命令添加快捷鍵。
如果你沒(méi)有 .bash_profile,你可以用以下命令在 macOS 上創(chuàng)建一個(gè):
- touch ~/.bash_profile
打開(kāi)該文件:
- open ~/.bash_profile
更多關(guān)于 .bash_profile 相關(guān)信息,請(qǐng)參閱:https://stackoverflow.com/a/30462883/4590385
現(xiàn)在你在終端鍵入 gs 的效果和鍵入 git status 的效果是一樣的。注意,在終端中你可以輸入快捷鍵后再輸入其它標(biāo)記。
你也可以使用 Git 的別名,但這要求你在輸入快捷鍵命令之前先輸入 git。誰(shuí)會(huì)需要這些額外的按鍵呢?
總結(jié)
本文介紹了許多關(guān)鍵的 Git 命令,還介紹了如何配置環(huán)境,這幫你節(jié)省了一些時(shí)間?,F(xiàn)在你有了 Git 和 GitHub 的基礎(chǔ),準(zhǔn)備好進(jìn)行下一步了嗎?
想要更深入地了解,請(qǐng)參閱這篇 Bitbucket Git 教程:
https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud
這里還有一篇關(guān)于 Git 分支的交互式指南:https://learngitbranching.js.org/
去和別人一起工作、互相學(xué)習(xí),并互相解惑吧!
本文標(biāo)題:你可能不太會(huì)用的10個(gè)Git命令
網(wǎng)站URL:http://fisionsoft.com.cn/article/djdggig.html


咨詢
建站咨詢
