在本文中,咱們將討論那些做爲開發人員、數據科學家或產品經理應該知道的各類各樣的Git命令。而且將使用Git查看、刪除和整理。此外,咱們還將介紹如何使用Bash別名和Git編輯器配置轉義Vim和節省時間的方法。
若是你不熟悉基本的git命令,那麼在閱讀本文以前,請查看我以前關於git工做流的文章。
下面是須要了解的10個命令和它們的一些常見標誌。每一個命令都連接到該命令的Atlassian Bitbucket指南。python
首先,讓咱們來查看變化。git
用git查看信息並非很混亂。相比之下,Git提供了大量的選項來刪除、撤消提交和文件更改。編程
git reset、git checkout和git revert用於撤消對存儲庫所作更改的影響。這些命令可能很難理解。安全
git reset和git checkout可用於提交和單個文件。git revert僅用於提交級別。bash
若是你只是處理還沒有合併到協做遠程工做中的本地提交,則可使用這些命令中的任何一個。編輯器
若是你正在協做工做,而且須要撤銷在遠程分支中的提交,那麼就使用git revert。工具
這些命令中的每個均可以採用多種選擇。 如下是常見用途:學習
指定一個不一樣的提交,而不是HEAD來丟棄自提交以來的更改。——hard指定階段性和非階段性的更改。
確保你不會放棄協做者所依賴的遠程分支的提交!ui
HEAD一般用於my_commit,以放棄自最近一次提交以來對本地工做目錄的更改。
checkout最適合用於本地撤銷。它不會打亂協做者所依賴的遠程分支的提交歷史記錄!
若是你將checkout與分支一塊兒使用,而不是使用提交,則HEAD將切換到指定的分支,並更新工做目錄以匹配。這是checkout命令的更常見用法。atom
revert對於協做項目是安全的,由於它不會覆蓋其餘用戶的分支所可能依賴的歷史記錄。
有時你只想刪除本地目錄中的未跟蹤文件。例如,你可能運行了一些代碼,這些代碼建立了許多你在repo中不須要的不一樣類型的文件。那麼,你能夠在一瞬間把它們清洗乾淨!
-n標誌用於沒有刪除任何內容的幹運行。
使用-f標誌來實際刪除文件。
使用-d標誌刪除未跟蹤的目錄。
默認狀況下,.gitignore未跟蹤的文件不會被刪除,可是能夠更改此行爲。
如今你已經瞭解了在Git中撤消操做的工具,那麼讓咱們來看看另外兩個命令。
若是沒有執行暫存,此命令只容許你編輯最近的提交消息。只有在提交未集成到遠程主分支時才使用此命令!
若是你正在使用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以及其餘編程和數據科學工具。若是你對此感興趣,請在這裏閱讀更多。
本文爲雲棲社區原創內容,未經容許不得轉載。