{eval=Array;=+count(Array);}
先說(shuō)說(shuō)使用命令行的感受吧,那就是隨心所欲,無(wú)所不能,只要快速的敲擊幾下鍵盤,想要完成的任務(wù)迅速搞定,所以使用命令行就意味著高效。
從功能的角度來(lái)說(shuō),使用命令行和GUI界面操作沒(méi)有多大區(qū)別,命令行可以實(shí)現(xiàn)的功能,GUI一般都能實(shí)現(xiàn)。
對(duì)于第二個(gè)問(wèn)題,我給的答案是肯定的,即對(duì)于大部分高手程序員來(lái)說(shuō),使用命令行是一種信仰,原因如下:
1、高手程序員講求高效;
2、高手程序員會(huì)研究git,也包括其它一些工具的源碼,使用命令行和理解源碼會(huì)相互促進(jìn);
3、命令行雖然需要記憶,上手難度較高,一旦上手,則使用起來(lái)功能會(huì)更強(qiáng)大,特別是通過(guò)管道和其它工具配合起來(lái)可以實(shí)現(xiàn)非常復(fù)雜的功能;
4、一種裝逼的方式,呵呵[酷拽]
一個(gè)非常好的問(wèn)題。Git是主流的代碼托管工具,使用起來(lái)非常高效,不僅命令行簡(jiǎn)單,而且有多款好用的工具可供選擇。在實(shí)際使用中,經(jīng)常是多種方式相結(jié)合。
只需記住10個(gè)常用命令,操作起來(lái)非常高效,常用在代碼管理、系統(tǒng)部署發(fā)布等場(chǎng)景中,比如在自動(dòng)構(gòu)建服務(wù)器上拉取代碼。
在日常開(kāi)發(fā)工作中,大部分工程師經(jīng)常使用Git工具,將信息可視化直觀的呈現(xiàn)出來(lái),有助于比對(duì)代碼、查找錯(cuò)誤。
主流的IDE開(kāi)發(fā)環(huán)境都支持代碼管理工具的集成使用,操作起來(lái)更方便,以IntelliJ IDEA為例,在開(kāi)發(fā)界面中查看代碼改動(dòng)和修改記錄。
我是工作多年的Web應(yīng)用架構(gòu)師,歡迎關(guān)注我,了解更多IT專業(yè)知識(shí)。
并沒(méi)有什么特別的感受,就是習(xí)慣而已。
其實(shí)目前git的GUI客戶端非常的多,常見(jiàn)的有TortoiseGit、Sourcetree、SmartGit,另外像IDEA等開(kāi)發(fā)工具內(nèi)部也集成了git客戶端。
毫無(wú)疑問(wèn)這些界面好看、功能強(qiáng)大GUI客戶端能夠大大提高的我們的工作效率,但是我還是更習(xí)慣使用命令行來(lái)操作git,什么原因?
相信有人會(huì)說(shuō)這么好用的客戶端不用非要去用命令行,肯定是為了裝逼,其實(shí)還真不是。
我堅(jiān)持使用命令行來(lái)操作git的原因其實(shí)很簡(jiǎn)單,一是因?yàn)閼校且驗(yàn)槎喹h(huán)境下命令行更方便。
因?yàn)槲医佑|git的時(shí)間比較早,早期確實(shí)不像現(xiàn)在有這么多優(yōu)秀又好用的客戶端,用命令行操作git更多的是迫不得已,用的時(shí)間長(zhǎng)了也就慢慢習(xí)慣了。
雖然后面慢慢出來(lái)了各種git客戶端,但因?yàn)槲颐钚幸呀?jīng)用得很順手了,也就沒(méi)動(dòng)力再去學(xué)習(xí)使用客戶端了(還是懶啊,哈哈)。
雖然看起來(lái)有點(diǎn)不可思議,但對(duì)于我來(lái)講確實(shí)是git命令行更方便一點(diǎn)。
為什么這么說(shuō)?其實(shí)git客戶端我也是使用過(guò)一段時(shí)間的,只是我作為一名后端開(kāi)發(fā),在公司經(jīng)常需要干些運(yùn)維的活,服務(wù)器是Linux環(huán)境這種情況我只能用git命令行。
Windows環(huán)境下使用客戶端、Linux環(huán)境又要使用命令行,我一想這換來(lái)?yè)Q去的好麻煩啊,索性就全部使用命令行吧,方便省事。
程序員使用git命令行的感受無(wú)非是“跟回自己家一樣,個(gè)個(gè)都是人才說(shuō)話又好聽(tīng)”的感覺(jué),碰到什么問(wèn)題百度一下出來(lái)基本是命令行的資料。
其實(shí)筆者接觸git是很晚的,以前和同事協(xié)同工作都是用SVN,偶然看到一篇文章說(shuō)“不會(huì)用git的程序員壓根不算程序員,只能算代碼搬運(yùn)工”,筆者從事這行那么多年竟被這樣說(shuō),哪能容忍得了啊,馬上找教程學(xué)習(xí)!
一開(kāi)始的時(shí)候本人把git軟件安裝完之后發(fā)現(xiàn)有個(gè)圖形操作界面GUI。既然有圖形操作界面感覺(jué)也沒(méi)啥困難啊,但是由于是剛開(kāi)始接觸,操作的時(shí)候確實(shí)碰到問(wèn)題了,然后根據(jù)錯(cuò)誤提示搜索資料,結(jié)果出來(lái)的基本是命令行的操作方式,折騰了一下,還是放棄了GUI,命令行的資料多就用命令行的方式吧。最后還是用命令行的方式測(cè)試成功。后面雖然把GUI的方式弄清楚了,但是已經(jīng)習(xí)慣命令行了。
習(xí)慣使用命令行還跟開(kāi)發(fā)環(huán)境有關(guān),開(kāi)發(fā)者的服務(wù)器環(huán)境基本是linux系統(tǒng)環(huán)境,而使用linux也很少有人使用linux的UI界面,要在linux上使用git那還是得使用git命令行。
對(duì)于程序員來(lái)說(shuō)命令行在操作上可以說(shuō)無(wú)所不能,如果使用UI操作,還得倚仗那個(gè)UI軟件功能是否夠強(qiáng)大。
DOS的時(shí)候都是用命令行,然后是WINDOWS開(kāi)始勝利就少很多了。再后來(lái)LINUX崛起,又大量使用了。
和信仰無(wú)關(guān),怎么方便工作怎么來(lái)。
其實(shí)git只是常用的一種工具,htop,vim,ssh,grep,docker,kubectl等等吧,都是常用的命令工具。
那么為什么要用命令工具,不用可視化工具,我覺(jué)得主要是三點(diǎn)原因:
1.占用資源少,shell傳輸文本給服務(wù)器,占用的帶寬比圖形要小很多,所以shell是大家使用遠(yuǎn)程服務(wù)器的主要方式。當(dāng)然部分工具如git 可以有本地的圖形化工(圖形渲染在客戶端本地),也有不少人用。
2.學(xué)習(xí)成本低。很多人不信,覺(jué)得圖形界面更容易掌握,其實(shí)不是,如果你調(diào)查一萬(wàn)個(gè)用git圖形界面的程序員,他們會(huì)給你至少5種以上不同的圖形化工具,但git命令行則很精確清晰的定義了要的結(jié)果,更容易上手,也更容易安裝
很多人覺(jué)得命令行難理解難記,其實(shí)難的不是命令,難的是不理解工具的邏輯架構(gòu)。一旦理解了工具邏輯架構(gòu),命令比圖形界面更容易學(xué)習(xí)和操作。
3.提高效率。命令行可以很容易通過(guò)python等腳本工具,或者其他cicd工具集成,提高研發(fā)-測(cè)試-運(yùn)維的效率,圖形界面則無(wú)法集成。
4.前三個(gè)是客觀原因,第四個(gè)原因我覺(jué)得還是為了裝逼,畢竟裝逼是程序員進(jìn)步的動(dòng)力源泉。
一般來(lái)說(shuō)也用不到,現(xiàn)在各種IDE、文本編輯器插件都有很多插件,實(shí)在不行自己寫一個(gè)插件也不復(fù)雜。不過(guò)很多圖形化界面畢竟操作繁瑣,簡(jiǎn)單的fetch、pull、commit、push、checkout等等還比較好操作,如果涉及很復(fù)雜的操作還是命令行簡(jiǎn)單高效,一個(gè)組合命令就好了。
本人10年開(kāi)發(fā)培訓(xùn)經(jīng)驗(yàn),期間經(jīng)歷了Java,Android,H5,大數(shù)據(jù),PHP等多個(gè)不同的方向的開(kāi)發(fā),也做過(guò)軟件培訓(xùn)公司的金牌講師,很有興趣回答你這個(gè)問(wèn)題。
作為一個(gè)天天玩電腦的人,其實(shí)命令行多多少少都會(huì)接觸到,就比如windows里的dos窗口,不也是命令行嗎?我們?cè)趙indows中的任何一個(gè)操作,在dos窗口里都可以完成啊,而且熟悉了之后,操作速度會(huì)比用鼠標(biāo)鍵盤這種圖形化操作更快。
也就是說(shuō)命令行和圖形化完成的功能是一樣的,并沒(méi)有增加什么新的功能,圖形化界面就是對(duì)命令進(jìn)行了一個(gè)包裹,把你本來(lái)該輸入的命令用圖形給包了一下,方便了我們的操作。
所以命令行和圖形化本質(zhì)是相同的,至于用哪種方式,完全是看個(gè)人習(xí)慣,何來(lái)的優(yōu)越感?
比如我作為一個(gè)Java后臺(tái)程序員,Linux系統(tǒng)也是我經(jīng)常操作的系統(tǒng),在Linux里面我也是經(jīng)常操作各種命令,我并不覺(jué)得使用這些命令會(huì)顯得我有多厲害多牛逼。命令就那么一些命令,只要自己的腦子不笨,背一背練幾下就會(huì)用了,想不明白為什么會(huì)有一些人把使用命令行當(dāng)成自己牛逼的資本,你這可以炫的技術(shù)層次也太低了吧?
對(duì)于git我也很熟悉了,早期用svn,后來(lái)切換成git,一開(kāi)始用的就是git的命令行方式,跟linux命令行沒(méi)什么區(qū)別,無(wú)非就是那幾個(gè)命令,記住常用的命令就可以了。為什么要用命令?一方面是操作速度快,另一方面是炫技,還有就是當(dāng)時(shí)git剛推出的時(shí)候,市面上確實(shí)沒(méi)有好用的圖形化工具啊!后來(lái)好不容易推出了一個(gè)TortoiseGit的圖形化工具,本以為可以拯救命令操作不熟悉的程序員的,結(jié)果發(fā)現(xiàn)這東西更難用。
但是后來(lái)有了一個(gè)SourceTree,這個(gè)圖形化的Git工具是真好用,各種操作輕松點(diǎn)擊就完成了,分支合并,切換,遠(yuǎn)程的推拉,變基等各種操作都一鍵完成。So Easy! 我現(xiàn)在反正只用SourceTree操作git,而且公司里面并不會(huì)限制你到底怎么操作git,自己怎么舒服怎么來(lái),愛(ài)用工具的用工具,愛(ài)用命令的用命令,何來(lái)的優(yōu)越感?何來(lái)的“信仰”臆說(shuō)呢?
我從事開(kāi)發(fā)培訓(xùn)10年,擅長(zhǎng)Java,Android,H5,大數(shù)據(jù),PHP等多個(gè)不同的技術(shù)方向。后續(xù)我會(huì)寫一系列關(guān)于互聯(lián)網(wǎng)技術(shù)方面的文章,感興趣的朋友可以關(guān)注我。另外如果你有Java,Android,H5等開(kāi)發(fā)方面,或者是求職方面的問(wèn)題,也可以在評(píng)論區(qū)留言,或者私信我,相信一定會(huì)讓你有所收獲!
不是信仰,只需要記住為數(shù)不多的命令就能讓你對(duì)git的操作效率大幅提高,有很多人先入為主覺(jué)得命令不好記,其實(shí)真正用上了你才能發(fā)現(xiàn)他的強(qiáng)大和高效。
0
回答0
回答0
回答3
回答0
回答0
回答0
回答0
回答0
回答0
回答