摘要:下面是需要了解的個(gè)命令和它們的一些常見(jiàn)標(biāo)志。每個(gè)命令都鏈接到該命令的指南。僅用于提交級(jí)別。指定一個(gè)不同的提交,而不是來(lái)丟棄自提交以來(lái)的更改。包裝在本文中,你已經(jīng)看到了一些關(guān)鍵的命令,并配置了環(huán)境以節(jié)省時(shí)間。
在本文中,我們將討論那些作為開(kāi)發(fā)人員、數(shù)據(jù)科學(xué)家或產(chǎn)品經(jīng)理應(yīng)該知道的各種各樣的Git命令。并且將使用Git查看、刪除和整理。此外,我們還將介紹如何使用Bash別名和Git編輯器配置轉(zhuǎn)義Vim和節(jié)省時(shí)間的方法。
如果你不熟悉基本的git命令,那么在閱讀本文之前,請(qǐng)查看我之前關(guān)于git工作流的文章。
下面是需要了解的10個(gè)命令和它們的一些常見(jiàn)標(biāo)志。每個(gè)命令都鏈接到該命令的Atlassian Bitbucket指南。
首先,讓我們來(lái)查看變化。
git diff——查看所有本地文件更改。可以附加文件名,以僅顯示一個(gè)文件的更改。
git log——查看所有提交歷史記錄。也可以用于具有g(shù)it log -p my_file的文件。輸入q退出。
git blame my_file——查看誰(shuí)更改了my_file中的內(nèi)容和時(shí)間。
git reflog——顯示本地存儲(chǔ)庫(kù)HEAD的更改日志。有助于找到遺失的文件。
用git查看信息并不是很混亂。相比之下,Git提供了大量的選項(xiàng)來(lái)刪除、撤消提交和文件更改。
git reset、git checkout和git revert用于撤消對(duì)存儲(chǔ)庫(kù)所做更改的影響。這些命令可能很難理解。
git reset和git checkout可用于提交和單個(gè)文件。git revert僅用于提交級(jí)別。
如果你只是處理尚未合并到協(xié)作遠(yuǎn)程工作中的本地提交,則可以使用這些命令中的任何一個(gè)。
如果你正在協(xié)作工作,并且需要撤銷在遠(yuǎn)程分支中的提交,那么就使用git revert。
這些命令中的每一個(gè)都可以采用多種選擇。 以下是常見(jiàn)用途:
git reset --hard HEAD——丟棄自最近提交以來(lái)的階段性和非階段性更改。
指定一個(gè)不同的提交,而不是HEAD來(lái)丟棄自提交以來(lái)的更改。——hard指定階段性和非階段性的更改。
確保你不會(huì)放棄協(xié)作者所依賴的遠(yuǎn)程分支的提交!
git checkout my_commit——放棄my_commit之后非階段性的更改。
HEAD通常用于my_commit,以放棄自最近一次提交以來(lái)對(duì)本地工作目錄的更改。
checkout最適合用于本地撤銷。它不會(huì)打亂協(xié)作者所依賴的遠(yuǎn)程分支的提交歷史記錄!
如果你將checkout與分支一起使用,而不是使用提交,則HEAD將切換到指定的分支,并更新工作目錄以匹配。這是checkout命令的更常見(jiàn)用法。
git revert my_commit——撤消my_commit中更改的效果。當(dāng)撤消更改時(shí),revert會(huì)進(jìn)行新的提交。
revert對(duì)于協(xié)作項(xiàng)目是安全的,因?yàn)樗粫?huì)覆蓋其他用戶的分支所可能依賴的歷史記錄。
有時(shí)你只想刪除本地目錄中的未跟蹤文件。例如,你可能運(yùn)行了一些代碼,這些代碼創(chuàng)建了許多你在repo中不需要的不同類型的文件。那么,你可以在一瞬間把它們清洗干凈!
git clean -n——?jiǎng)h除本地工作目錄中的未跟蹤文件
-n標(biāo)志用于沒(méi)有刪除任何內(nèi)容的干運(yùn)行。
使用-f標(biāo)志來(lái)實(shí)際刪除文件。
使用-d標(biāo)志刪除未跟蹤的目錄。
默認(rèn)情況下,.gitignore未跟蹤的文件不會(huì)被刪除,但是可以更改此行為。
現(xiàn)在你已經(jīng)了解了在Git中撤消操作的工具,那么讓我們來(lái)看看另外兩個(gè)命令。
git commit --amend——將階段性的更改添加到最近的提交。
如果沒(méi)有執(zhí)行暫存,此命令只允許你編輯最近的提交消息。只有在提交未集成到遠(yuǎn)程主分支時(shí)才使用此命令!
git push my_remote --tags——將所有本地標(biāo)記發(fā)送到遠(yuǎn)程repo。適合于版本控制更改。
如果你正在使用python并對(duì)構(gòu)建的包進(jìn)行更改,bump2version將自動(dòng)為你創(chuàng)建標(biāo)記。一旦你推送了標(biāo)記,就可以在發(fā)布中使用它們。這是我制作第一個(gè)OSS python包的指南。跟著我,確保你不會(huì)錯(cuò)過(guò)版本控制的部分!
使用Git,你可能有時(shí)會(huì)發(fā)現(xiàn)自己陷入了Vim編輯器會(huì)話。例如,假設(shè)你嘗試在沒(méi)有提交消息的情況下提交,Vim將自動(dòng)打開(kāi)。如果你不了解Vim,這有點(diǎn)難纏——看看這個(gè)在Stack Overflow中超過(guò)4,000投票的回答,來(lái)了解如何擺脫它。
以下是使用保存文件逃避Vim的四步計(jì)劃:
1.按i進(jìn)入插入模式。
2.在第一行輸入提交消息。
3.按下退出鍵-——Esc。
4.輸入:x。別忘了冒號(hào)。
恭喜,你自由了!
為了完全避免Vim,可以在Git中更改默認(rèn)編輯器。這里是一些帶有通用編輯器命令的文檔。下面是修改我使用的編輯器Atom默認(rèn)值的命令:
假設(shè)你已經(jīng)安裝了Atom,現(xiàn)在可以解決其中的Git問(wèn)題。太棒了!
通過(guò)在.bash_profile中添加以下別名,為Git命令添加快捷方式。
你可以根據(jù)自己的喜好調(diào)整Git命令的快捷方式。
如果你沒(méi)有.bash_profile,可以使用以下命令在macOS上創(chuàng)建一個(gè):
然后打開(kāi)它:
有關(guān).bash_profile的更多信息,請(qǐng)點(diǎn)擊這里。
現(xiàn)在,當(dāng)你在終端中輸入gs時(shí),它與輸入git status相同。請(qǐng)注意,你可以在快捷方式之后在終端中輸入其他標(biāo)志。
你也可以制作Git別名,但是那些要求你在快捷命令之前鍵入git。這就多此一舉了。
在本文中,你已經(jīng)看到了一些關(guān)鍵的Git命令,并配置了環(huán)境以節(jié)省時(shí)間。現(xiàn)在你已經(jīng)有了Git和GitHub的基礎(chǔ)。準(zhǔn)備好下一步了嗎?
查看這個(gè)Bitbucket Git教程,來(lái)了解更多。
探索Git分支的交互式指南。分支可能不好理解,但絕對(duì)值得一看。
去玩,去學(xué)習(xí),向別人解釋這些不同之處。
我希望這篇介紹Git和GitHub的文章對(duì)你有用。如果可以,請(qǐng)?jiān)谀阕钕矚g的社交媒體上分享,這樣其他人也能找到它。
我寫的是如何有效地使用Python、Docker以及其他編程和數(shù)據(jù)科學(xué)工具。如果你對(duì)此感興趣,請(qǐng)?jiān)谶@里閱讀更多。
閱讀原文
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/11466.html
摘要:但這并不意味著依賴版本是鎖死的。黃色表示不符合指定的語(yǔ)義化版本范圍,比如大版本升級(jí),升級(jí)可能會(huì)遇到兼容性問(wèn)題。文件可以列出不想打包的文件,避免把一些無(wú)關(guān)的文件發(fā)布到上。 作者: LeanCloud weakish 分享一些 npm 包管理工具的實(shí)用小竅門,希望能夠略微提高下前端、Node.js 開(kāi)發(fā)者的生活質(zhì)量。 絕大多數(shù)前端和 Node.js 開(kāi)發(fā)者每天的日常工作都離不開(kāi) npm,不...
摘要:歡迎來(lái)我的個(gè)人站點(diǎn)性能優(yōu)化其他優(yōu)化瀏覽器關(guān)鍵渲染路徑開(kāi)啟性能優(yōu)化之旅高性能滾動(dòng)及頁(yè)面渲染優(yōu)化理論寫法對(duì)壓縮率的影響唯快不破應(yīng)用的個(gè)優(yōu)化步驟進(jìn)階鵝廠大神用直出實(shí)現(xiàn)網(wǎng)頁(yè)瞬開(kāi)緩存網(wǎng)頁(yè)性能管理詳解寫給后端程序員的緩存原理介紹年底補(bǔ)課緩存機(jī)制優(yōu)化動(dòng) 歡迎來(lái)我的個(gè)人站點(diǎn) 性能優(yōu)化 其他 優(yōu)化瀏覽器關(guān)鍵渲染路徑 - 開(kāi)啟性能優(yōu)化之旅 高性能滾動(dòng) scroll 及頁(yè)面渲染優(yōu)化 理論 | HTML寫法...
摘要:歡迎來(lái)我的個(gè)人站點(diǎn)性能優(yōu)化其他優(yōu)化瀏覽器關(guān)鍵渲染路徑開(kāi)啟性能優(yōu)化之旅高性能滾動(dòng)及頁(yè)面渲染優(yōu)化理論寫法對(duì)壓縮率的影響唯快不破應(yīng)用的個(gè)優(yōu)化步驟進(jìn)階鵝廠大神用直出實(shí)現(xiàn)網(wǎng)頁(yè)瞬開(kāi)緩存網(wǎng)頁(yè)性能管理詳解寫給后端程序員的緩存原理介紹年底補(bǔ)課緩存機(jī)制優(yōu)化動(dòng) 歡迎來(lái)我的個(gè)人站點(diǎn) 性能優(yōu)化 其他 優(yōu)化瀏覽器關(guān)鍵渲染路徑 - 開(kāi)啟性能優(yōu)化之旅 高性能滾動(dòng) scroll 及頁(yè)面渲染優(yōu)化 理論 | HTML寫法...
摘要:歡迎來(lái)我的個(gè)人站點(diǎn)性能優(yōu)化其他優(yōu)化瀏覽器關(guān)鍵渲染路徑開(kāi)啟性能優(yōu)化之旅高性能滾動(dòng)及頁(yè)面渲染優(yōu)化理論寫法對(duì)壓縮率的影響唯快不破應(yīng)用的個(gè)優(yōu)化步驟進(jìn)階鵝廠大神用直出實(shí)現(xiàn)網(wǎng)頁(yè)瞬開(kāi)緩存網(wǎng)頁(yè)性能管理詳解寫給后端程序員的緩存原理介紹年底補(bǔ)課緩存機(jī)制優(yōu)化動(dòng) 歡迎來(lái)我的個(gè)人站點(diǎn) 性能優(yōu)化 其他 優(yōu)化瀏覽器關(guān)鍵渲染路徑 - 開(kāi)啟性能優(yōu)化之旅 高性能滾動(dòng) scroll 及頁(yè)面渲染優(yōu)化 理論 | HTML寫法...
摘要:具體來(lái)說(shuō),包管理器就是可以通過(guò)命令行,幫助你把外部庫(kù)和插件放到你的項(xiàng)目里面并在之后進(jìn)行版本升級(jí),這樣就不用手工復(fù)制和更新庫(kù)。現(xiàn)在有的包管理器主要是和。 一、基礎(chǔ) 1、學(xué)習(xí)HTML基礎(chǔ) HTML給你的網(wǎng)頁(yè)賦予了結(jié)構(gòu)。它就像是人的骨架那樣讓你保持站立。首先你需要去學(xué)習(xí)語(yǔ)法以及它必須提供的一切。你的學(xué)習(xí)應(yīng)該聚焦在下面這些東西上: 學(xué)習(xí)HTML基礎(chǔ),了解如何編寫語(yǔ)義HTML 理解如何把網(wǎng)頁(yè)分...
閱讀 2418·2021-11-24 09:39
閱讀 3244·2021-10-09 09:53
閱讀 1137·2021-09-22 16:06
閱讀 4457·2021-09-02 10:18
閱讀 804·2021-08-23 09:42
閱讀 1767·2021-08-17 10:11
閱讀 2690·2019-08-30 13:02
閱讀 2127·2019-08-30 12:49