Git基本命令的使用

0.什么是Git

維基百科上對git的說明:

? git是用于Linux內(nèi)核開發(fā)的版本控制工具怜械。與CVS网沾、Subversion一類的集中式版本控制工具不同朴皆,它采用了分布式版本庫的作法介蛉,不需要服務(wù)器端軟件本缠,就可以運作版本控制,使得源代碼的發(fā)布和交流極其方便缭黔。git的速度很快食茎,這對于諸如Linux內(nèi)核這樣的大項目來說自然很重要。git最為出色的是它的合并追蹤(merge tracing)能力馏谨。

git是一種分布式的版本管理工具别渔,每個人的設(shè)備上都是一份完整的代碼庫,并且包含了所有的代碼提交歷史惧互。所以哎媚,即使是在沒有網(wǎng)絡(luò)的情況下,也可以將代碼提交到本地git版本管理庫中喊儡,等到網(wǎng)絡(luò)恢復(fù)之后再上傳到服務(wù)器拨与。

1.工作區(qū)和暫存區(qū)

1.1工作區(qū)

工作區(qū)是指當(dāng)前工程的目錄。

如果我新建的是一個Android的工程那么它的工作區(qū)則為:


1.2 暫存區(qū)

工作區(qū)有一個隱藏目錄.git艾猜,這個不算工作區(qū)买喧,而是Git的版本庫。

Git的版本庫里存了很多東西匆赃,其中最重要的就是稱為stage(或者叫index)的暫存區(qū)淤毛,還有Git為我們自動創(chuàng)建的第一個分支master,以及指向master的一個指針叫HEAD算柳。

把文件往Git版本庫里添加的時候低淡,是分兩步執(zhí)行的:
第一步是用git add把文件添加進(jìn)去,實際上就是把文件修改添加到暫存區(qū)瞬项;
第二步是用git commit提交更改蔗蹋,實際上就是把暫存區(qū)的所有內(nèi)容提交到當(dāng)前分支。

2.基礎(chǔ)的Git命令使用

git命令流程圖:圖片來自知乎@王奧(OX)

2.1配置本地倉庫的用戶信息

git config --global user.name "[name]"
git config --global user.email "[email address]"

2.2 常用的命令

git init :初始化一個本地倉庫
git add –all :添加所有文件到暫存區(qū)(stage囱淋,index)
git commit -m :“描述信息” 提交更改到本地master分支
git status :查看git當(dāng)前狀態(tài)
git diff :查看改動后和改動前的不同之處
git log :獲得文件更改的歷史記錄
git checkout – readme.txt:把readme.txt文件在工作區(qū)的修改全部撤銷
git remote -v 查看遠(yuǎn)程服務(wù)器地址和倉庫名稱
git remote show origin 查看遠(yuǎn)程服務(wù)器倉庫狀態(tài)
git remote add origin git@xxx.git 添加遠(yuǎn)程倉庫地址
git remote set-url origin git@xxx.git 設(shè)置遠(yuǎn)程倉庫地址(用于修改遠(yuǎn)程倉庫地址)
git remote rm <repository> 刪除遠(yuǎn)程倉庫
git branch # 顯示本地分支
git branch -a # 顯示所有分支
git merge origin/master # 合并遠(yuǎn)程master分支至當(dāng)前分支
git fetch # 獲取所有遠(yuǎn)程分支(不更新本地分支猪杭,另需merge)
git pull origin master # 獲取遠(yuǎn)程分支master并merge到當(dāng)前分支

命令速查表 via HalShaw

git commnd

2.3為現(xiàn)有的項目添加git控制并上傳到gitlab

cd existing_folder
git init
git remote add origin xxx.git
git add .
git commit -m "Initial commit"
git push -u origin master

3.可視化界面下Git的使用

除了使用git bash的命令行來進(jìn)行項目版本控制,可視化的git管理工具也是我們?nèi)粘W罱?jīng)常使用的绎橘。

3.1 Android Studio 自帶的git可視化工具

使用前記得安裝git,并且在Android Studio中配置好git。

3.1.1 基本命令的使用

在project視圖下選中整個項目

add
git>>add 即可將整個工程添加到git的暫存區(qū)称鳞。

image.png

commit
要控制好commit粒度以及commit信息的書寫

push

push之前要確保本機的ssh已經(jīng)添加到管理遠(yuǎn)程倉庫的網(wǎng)站中涮较。

這里可以有兩種方式設(shè)置遠(yuǎn)程倉庫地址
第一種,在可視化界面中點擊origin:后的藍(lán)色文字冈止,添加遠(yuǎn)程倉庫
第二種狂票,利用git bash,

git remote -v 查看遠(yuǎn)程服務(wù)器地址和倉庫名稱
git remote show origin 查看遠(yuǎn)程服務(wù)器倉庫狀態(tài)
git remote add origin git@xxx.git 添加遠(yuǎn)程倉庫地址
git remote set-url origin git@xxx.git 設(shè)置遠(yuǎn)程倉庫地址(用于修改遠(yuǎn)程倉庫地址)
git remote rm <repository> 刪除遠(yuǎn)程倉庫

這5個命令可以讓你完全掌握遠(yuǎn)程倉庫的狀態(tài)信息熙暴,并且在出現(xiàn)異常時(如遠(yuǎn)程倉庫地址更改闺属,服務(wù)器綁定域名更換等等),可以很方便地移除或者修改遠(yuǎn)程倉庫的地址周霉。

3.1.2快速調(diào)出版本控制的控制面板

或者在選中項目之后掂器,使用快捷鍵Alt+`(windows下),即可調(diào)出版本控制的控制面板,快速地進(jìn)行相應(yīng)操作,非常方便俱箱,推薦使用国瓮。

3.1.3 Version control

清楚地展示Git flow

這里可以很清楚地展示git倉庫的各個版本之間的關(guān)系以及版本信息。

3.2 SourceTree 狞谱,Git GUI

這些也是非常好用的圖形化工具乃摹,這里就不多介紹了。

Tips:

推薦一些比較好的關(guān)于git的網(wǎng)站:

在線的git使用學(xué)習(xí)網(wǎng)站
https://learngitbranching.js.org/

廖雪峰的git教程
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末跟衅,一起剝皮案震驚了整個濱河市孵睬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌伶跷,老刑警劉巖掰读,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異撩穿,居然都是意外死亡磷支,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門食寡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雾狈,“玉大人,你說我怎么就攤上這事抵皱∩崎唬” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵呻畸,是天一觀的道長移盆。 經(jīng)常有香客問我,道長伤为,這世上最難降的妖魔是什么咒循? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任据途,我火速辦了婚禮,結(jié)果婚禮上叙甸,老公的妹妹穿的比我還像新娘颖医。我一直安慰自己,他們只是感情好裆蒸,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布熔萧。 她就那樣靜靜地躺著,像睡著了一般僚祷。 火紅的嫁衣襯著肌膚如雪佛致。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天辙谜,我揣著相機與錄音俺榆,去河邊找鬼。 笑死筷弦,一個胖子當(dāng)著我的面吹牛肋演,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播烂琴,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼爹殊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了奸绷?” 一聲冷哼從身側(cè)響起梗夸,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎号醉,沒想到半個月后反症,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡畔派,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年铅碍,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片线椰。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡胞谈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出憨愉,到底是詐尸還是另有隱情烦绳,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布配紫,位于F島的核電站径密,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏躺孝。R本人自食惡果不足惜享扔,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一底桂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧惧眠,春花似錦戚啥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽览濒。三九已至呆盖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贷笛,已是汗流浹背应又。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留乏苦,地道東北人株扛。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像汇荐,于是被迫代替她去往敵國和親洞就。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容