0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何用Bash別名和Git編輯器配置來(lái)逃避Vim以節(jié)省時(shí)間

Linux愛(ài)好者 ? 來(lái)源:lp ? 2019-03-26 14:24 ? 次閱讀

本文討論的是開(kāi)發(fā)人員、數(shù)據(jù)科學(xué)家或產(chǎn)品經(jīng)理應(yīng)該了解的各種 Git 命令。我們將了解該如何用 Git 進(jìn)行檢查、刪除和整理操作。我們還將介紹如何用 Bash 別名和 Git 編輯器配置來(lái)逃避 Vim 以節(jié)省時(shí)間。

如果你不熟悉基本的 git 命令,在閱讀本文前可以先參考我之前寫(xiě)的關(guān)于 Git 工作流程的文章。

地址:

https://towardsdatascience.com/learn-enough-git-to-be-useful-281561eef959

本文介紹了 10 個(gè)常見(jiàn)的命令以及它們的一些參數(shù)。每個(gè)命令都可以鏈接到該命令的 Atlassian Bitbucket 指南。

檢查

先了解一下如何檢查改動(dòng)痕跡。

git diff——查看所有本地文件的改動(dòng)。只改動(dòng)一個(gè)文件的話可以在命令后添加文件名。

git log——查看所有提交歷史。還可用于帶有 git log –p my_file 的文件,輸入 q 退出。

git blame my file——了解誰(shuí)在什么時(shí)候?qū)?my_file 做了什么樣的改動(dòng)。

gitreflog——顯示本地代碼庫(kù) HEAD 的更改日志。這個(gè)命令很適合查找丟失的工作。

用 Git 進(jìn)行檢查并不麻煩。相比之下,Git 中有不少刪除和撤銷提交以及文件改動(dòng)的操作。

撤銷

可以用 git reset、git checkout 和 git revert 撤銷在代碼庫(kù)中所做的改動(dòng),這些命令可能有點(diǎn)難理解。

git reset 和 git checkout 既可用于提交也可用于單個(gè)文件的修改,而 git revert 只能用在提交層面。如果你只需要處理尚未合并到協(xié)作遠(yuǎn)程工作的本地提交,你可以使用這三者中任何一條命令。如果是協(xié)同工作且需要撤銷遠(yuǎn)程分支中的提交,那么就用 git revert。

這些命令中的每一條都有多個(gè)參數(shù)。以下是常見(jiàn)的用法:

git reset –-hard HEAD——撤銷最近提交以來(lái)暫存區(qū)和非暫存區(qū)的改動(dòng)。

指定不同的提交而不是 HEAD,以撤銷自這條提交以來(lái)的更改。--hard 指的是撤銷暫存區(qū)和非暫存區(qū)的更改。

要確保你撤銷的不是協(xié)作伙伴所依賴的遠(yuǎn)程分支的提交。

git checkout my commit——從 my_commit 中撤銷非暫存區(qū)的改動(dòng)。

HEAD 常用在 my_commit,用來(lái)撤銷最近一次提交以來(lái)在本地工作目錄的改動(dòng)。

checkout 最適合用于僅限于本地的撤銷。它不會(huì)破壞你的協(xié)作伙伴所依賴的遠(yuǎn)程分支的提交歷史。

如果你將 checkout 用在分支而不是提交上,HEAD 將會(huì)切換到指定分支,并更新成匹配的工作目錄。這是 checkout 命令更常見(jiàn)的用法。

Git revert my commit——撤銷 my_commit 中的更改。當(dāng)用 revert 撤銷改動(dòng)時(shí),它會(huì)產(chǎn)生新的提交。

對(duì)協(xié)作項(xiàng)目而言,revert 是很安全的,因?yàn)樗粫?huì)覆蓋其他用戶分支可能依賴的歷史記錄。

revert 很安全。

有時(shí)候你只想刪除本地目錄中的未追蹤文件。例如,也許你運(yùn)行的代碼在版本庫(kù)中創(chuàng)建了許多你不需要的不同類型的文件。你可以一鍵清除它們!

Git clean –n——?jiǎng)h除本地工作目錄中的未追蹤文件。

–n 表示試運(yùn)行,在試運(yùn)行中什么都不會(huì)刪除。

-f 表示實(shí)際刪除文件。

-d 表示刪除未追蹤的目錄。

默認(rèn)情況下不會(huì)刪除 .gitignore 中的未追蹤文件,但這種行為是可以更改的。

現(xiàn)在你已經(jīng)知道了 Git 中用于撤銷操作的命令,接下來(lái)我們?cè)倏磧蓷l可以有序排列文件的命令。

整理

Git commit –amend——將暫存區(qū)的更改添加到最近一次提交中。

如果暫存區(qū)中什么都沒(méi)有,你可以用該命令編輯最新的提交信息。只有在提交尚未整合到遠(yuǎn)程主分支中時(shí)才使用該命令!

Git push my remote –tags——將所有本地標(biāo)記發(fā)送到遠(yuǎn)程版本庫(kù)中。適用于版本變更。

如果你用的是 Python,并希望更改你所構(gòu)建的包,bump2version 會(huì)自動(dòng)為你創(chuàng)建標(biāo)簽。一旦將標(biāo)簽推送出去,你就可以在自己的版本中使用了。這里有一篇我的指南,可以指導(dǎo)你完成第一個(gè) OSS Python 包。跟緊我,確保你不會(huì)錯(cuò)過(guò)版本控制的部分!

指南:https://towardsdatascience.com/build-your-first-open-source-python-project-53471c9942a7?source=friends_link&sk=576540dbd90cf2ee72a3a0e0bfa72ffb

求助,我被困在 Vim 中出不去了!

使用 Git 時(shí),你可能偶爾會(huì)發(fā)現(xiàn)自己被困在 Vim 會(huì)話中了。例如,你試著在沒(méi)有提交信息的情況下提交,Vim 會(huì)自動(dòng)開(kāi)啟。如果你不知道 Vim 的話,這種情況糟糕透了——在這個(gè)關(guān)于如何擺脫這一困境的 Stack Overflow 回答下有超過(guò) 4,000 的投票。

以下四步用于在已保存的文件中逃離 Vim:

1. 按 i 進(jìn)入插入模式

2. 在第一行輸入你的提交信息

3. 按下退出鍵——Esc

4. 輸入 :x。別忘了冒號(hào)(colon)。

更改默認(rèn)編輯器

為了避免使用 Vim,可以更改 Git 中的默認(rèn)編輯器。以下是更改我使用的編輯器 Atom 的默認(rèn)值的命令:

gitconfig--globalcore.editor"atom--wait"

假設(shè)你已經(jīng)安裝了 Atom,你現(xiàn)在就可以在 Atom 中解決 Git 問(wèn)題了。

創(chuàng)建 Git 命令的快捷鍵

在 .bash_profile 中添加以下 alias 命令可以給 Git 命令添加快捷鍵:

aliasgs='gitstatus'aliasga='gitadd'aliasgaa='gitadd-A'aliasgb='gitbranch'aliasgc='gitcommit'aliasgcm='gitcommit-m'aliasgo='gitcheckout'

你可以調(diào)整上述命令,來(lái)為任何 Git 命令添加快捷鍵。

如果你沒(méi)有 .bash_profile,你可以用以下命令在 macOS 上創(chuàng)建一個(gè):

touch~/.bash_profile

打開(kāi)該文件:

open~/.bash_profile

更多關(guān)于 .bash_profile 相關(guān)信息,請(qǐng)參閱:https://stackoverflow.com/a/30462883/4590385

現(xiàn)在你在終端鍵入 gs 的效果和鍵入 git status 的效果是一樣的。注意,在終端中你可以輸入快捷鍵后再輸入其它標(biāo)記。

你也可以使用 Git 的別名,但這要求你在輸入快捷鍵命令之前先輸入 git。誰(shuí)會(huì)需要這些額外的按鍵呢?

總結(jié)

本文介紹了許多關(guān)鍵的 Git 命令,還介紹了如何配置環(huán)境,這幫你節(jié)省了一些時(shí)間?,F(xiàn)在你有了 Git 和 GitHub 的基礎(chǔ),準(zhǔn)備好進(jìn)行下一步了嗎?

想要更深入地了解,請(qǐng)參閱這篇 Bitbucket Git 教程

https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud

這里還有一篇關(guān)于 Git 分支的交互式指南:

https://learngitbranching.js.org/

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    806

    瀏覽量

    31176
  • Git
    Git
    +關(guān)注

    關(guān)注

    0

    文章

    200

    瀏覽量

    15765
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    471

    瀏覽量

    16450

原文標(biāo)題:你可能不太會(huì)用的 10 個(gè) Git 命令

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    linux中vi、vim編輯器常用的技巧

    今天浩道跟大家分享硬核干貨,關(guān)于linux中vi、vim編輯器常用的技巧!
    發(fā)表于 09-21 14:04 ?595次閱讀

    常用編輯器Vim編輯器

    在Linux下我們對(duì)文本進(jìn)行編輯,經(jīng)常用到的編輯器就是Vi/Vim,Vi/Vim命令眾多,功能強(qiáng)大,是大多數(shù)Linux程序員選擇使用的編輯器
    發(fā)表于 08-22 09:48

    嵌入式學(xué)習(xí)-常用編輯器Vim編輯器

    在Linux下我們對(duì)文本進(jìn)行編輯,經(jīng)常用到的編輯器就是Vi/Vim,Vi/Vim命令眾多,功能強(qiáng)大,是大多數(shù)Linux程序員選擇使用的編輯器
    發(fā)表于 08-23 09:12

    群里ucos資料總結(jié),為大家節(jié)省時(shí)間,大多都在這啦

    群里ucos資料總結(jié),為大家節(jié)省時(shí)間,大多都在這啦
    發(fā)表于 09-13 23:43

    Linux下怎么使用vim編輯器

    Vim是Linux操作系統(tǒng)中最常用一個(gè)編輯器。如配置文件的更改、環(huán)境變量的設(shè)置等等基本上都是在這個(gè)vim編輯器上完成。所以這是Linux系統(tǒng)
    發(fā)表于 04-03 07:22

    USART使用DMA時(shí)可以節(jié)省時(shí)間嗎?

    USART使用DMA時(shí)可以節(jié)省時(shí)間嗎?
    發(fā)表于 12-02 07:21

    vim Linux文本編輯器

    vimLinux文本編輯器vim——最強(qiáng)大的文本編輯器——擺脫鼠標(biāo)vi—vim—gvim三種模式:①命令模式:yy(復(fù)制)、p(粘貼)、dd(刪除)、u(恢復(fù))②插入模式:i/a(進(jìn)
    發(fā)表于 12-15 06:30

    學(xué)會(huì)使用和如何配置vim功能最強(qiáng)大文本文件編輯器

    一.vim(文本編輯器):學(xué)會(huì)使用和如何配置vimvim功能最強(qiáng)大文本文件編輯器,可以擺脫鼠標(biāo)。vi—vim----gvim;命令行模式(n
    發(fā)表于 12-15 09:18

    學(xué)會(huì)使用和如何配置vim文本編輯器

    學(xué)會(huì)使用和如何配置vim文本編輯器?動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù)及使用和區(qū)別是什么?
    發(fā)表于 12-23 08:49

    通過(guò)節(jié)省時(shí)間和成本的創(chuàng)新技術(shù)降 低電源中的EMI

    通過(guò)節(jié)省時(shí)間和成本的創(chuàng)新技術(shù)降 低電源中的EMI分析了開(kāi)關(guān)模式電源中的 EMI,并提供了一些可幫助設(shè)計(jì)人員快速且輕松地通過(guò)業(yè)界通用 EMI 測(cè)試的技術(shù)什么是 EMI? EMI 是一種電磁
    發(fā)表于 01-25 18:48

    VIM編輯器學(xué)習(xí)

     Vim是一個(gè)類似于Vi的文本編輯器,不過(guò)在Vi的基礎(chǔ)上增加了很多新的特性,Vim普遍被推崇為類Vi編輯器中最好的一個(gè),事實(shí)上真正的勁敵來(lái)自Emacs的不同變體。 
    發(fā)表于 08-11 16:58 ?995次閱讀

    通過(guò)節(jié)省時(shí)間和成本的創(chuàng)新技術(shù)降低電源中的EMI

    通過(guò)節(jié)省時(shí)間和成本的創(chuàng)新技術(shù)降低電源中的EMI。
    發(fā)表于 06-09 09:53 ?20次下載

    你會(huì)使用 Linux 編輯器 vim 嗎?

    vim:是一款編輯器,只負(fù)責(zé)寫(xiě)代碼;相當(dāng)于 windows 的記事本;
    的頭像 發(fā)表于 05-10 18:21 ?869次閱讀
    你會(huì)使用 Linux <b class='flag-5'>編輯器</b> <b class='flag-5'>vim</b> 嗎?

    vim編輯器如何使用

    Vim編輯器是一個(gè)功能強(qiáng)大的文本編輯器,它基于Vi進(jìn)行改進(jìn),并增加了許多新特性。Vim編輯器的使用主要涉及其不同的工作模式及相應(yīng)操作。以下是
    的頭像 發(fā)表于 08-30 14:58 ?449次閱讀

    vim編輯器命令模式使用方法

    Vim編輯器是一款功能強(qiáng)大的文本編輯器,廣泛應(yīng)用于程序員和開(kāi)發(fā)者的日常工作中。Vim編輯器擁有多種模式,其中命令模式(Command mod
    的頭像 發(fā)表于 08-30 15:01 ?421次閱讀