git bash here创建项目无法选择m_你应该知道的10个Git命令
作者?| Jeff Hale
來源?| Towards Data Science
編輯?|?代碼醫生團隊
在本文中,將討論作為開發人員,數據科學家或產品經理應該了解的各種Git命令。將看看使用Git檢查,刪除和整理。還將討論如何通過Bash別名和Git編輯器配置來逃避Vim并節省時間。
檢查事物
先看一下檢查變化。
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丟棄自提交以來的更改。--hard指定丟棄暫存和未暫存的更改。
確保不丟棄協作者所依賴的遠程分支的提交!
git checkout my_commit- 放棄自my_commit以來的非分段更改。
HEAD通常用于my_commit放棄自最近提交以來對本地工作目錄的更改。
checkout最適合僅限本地的地方。它不會破壞協作者依賴的遠程分支的提交歷史記錄!
如果使用checkout分支而不是提交,HEAD則切換到指定的分支,并更新工作目錄以匹配。這是checkout命令的更常見用法。
git revert my_commit-undo在變化的影響my_commit。revert 在撤消更改時進行新提交。
revert 對于協作項目是安全的,因為它不會覆蓋其他用戶的分支可能依賴的歷史記錄。
revert 是安全的
有時只想刪除本地目錄中未跟蹤的文件。例如可能運行了一些代碼,這些代碼創建了許多在repo中不需要的不同類型的文件。可以快速清潔它們!
git clean -n - 刪除本地工作目錄中未跟蹤的文件。
該-n標志用于干運行,其中沒有任何內容被刪除。
使用該-f標志實際刪除文件。
使用 - d標志刪除未跟蹤的目錄。
默認情況下,.gitignore未跟蹤的文件不會被刪除,但可以更改此行為。
現在已經了解了在Git中撤消事物的工具,再看兩個命令來保持秩序井然有序。
整理事物
git commit --amend- 將暫存的更改添加到最近的提交中。
如果沒有暫存,則此命令僅允許編輯最新的提交消息。如果提交尚未集成到遠程主分支中,則僅使用此命令!
git push my_remote --tags - 將所有本地標簽發送到遠程倉庫。適用于版本更改。
如果正在使用Python并對構建的軟件包進行更改,那么bump2version將自動創建標記。推送標簽后,可以在版本中使用它們。
https://pypi.org/project/bump2version/
幫助,我被困在Vim并且無法離開!
使用Git,可能偶爾會發現自己陷入了Vim編輯器會話。例如假設您嘗試在沒有提交消息的情況下提交 - Vim將自動打開。如果不了解Vim,- 在這個Stack Overflow回答中看到4,000+以上的投票,以了解如何擺脫它。
https://stackoverflow.com/a/11828573/4590385
自由!
以下是使用保存文件逃避Vim的四步計劃:
按i進入插入模式。
在第一行輸入您的提交消息。
按退出鍵 -Esc。
輸入:x。不要忘記結腸。
更改默認編輯器
要完全避免使用Vim,可以在Git中更改默認編輯器。以下是包含常用編輯器命令的文檔。這是更改我使用的編輯器默認值的命令,Atom:
https://www.atlassian.com/git/tutorials/setting-up-a-repository/git-config
git?config?--global?core.editor?"atom?--wait"
假設安裝了Atom,現在可以解決其中的Git問題。
為Git命令制作快捷方式
通過向.bash_profile添加以下別名來添加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'
可以調整為喜歡的任何Git命令制作快捷方式。
如果沒有。bash_profile,可以使用以下內容在macOS上創建一個:
touch?~/.bash_profile
然后打開它:
open?~/.bash_profile
在這里查看.bash_profile的 更多信息。
https://stackoverflow.com/a/30462883/4590385
現在,當輸入gs終端時,它與輸入相同git status。請注意可以在快捷方式后在終端中輸入其他標記。
也可以創建Git別名,但這些別名要求git在快捷命令之前鍵入。
Wrap
在本文中,已經看到了一堆關鍵的Git命令,并配置了環境以節省時間。現在有了Git和GitHub的基礎。準備下一步了嗎?
查看這個Bitbucket Git教程,深入了解。
??https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud
瀏覽Git分支的交互式指南。分支可能令人困惑,所以它絕對值得一看。
??https://learngitbranching.js.org/
學習并向別人解釋差異。
希望這個介紹Git和GitHub很有用。如果喜歡請分享它。
關于圖書
《深度學習之TensorFlow:入門、原理與進階實戰》和《Python帶我起飛——入門、進階、商業實戰》兩本圖書是代碼醫生團隊精心編著的 AI入門與提高的精品圖書。配套資源豐富:配套視頻、QQ讀者群、實例源碼、 配套論壇:http://bbs.aianaconda.com ??。更多請見:aianaconda.com
總結
以上是生活随笔為你收集整理的git bash here创建项目无法选择m_你应该知道的10个Git命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git add多个文件_Git之旅② -
- 下一篇: 在 echarts关系图动态线上添加文字