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