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