Git基本命令的使用

0.什么是Git

維基百科上對(duì)git的說明:

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

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

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

1.1工作區(qū)

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

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


1.2 暫存區(qū)

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

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

把文件往Git版本庫里添加的時(shí)候,是分兩步執(zhí)行的:
第一步是用git add把文件添加進(jìn)去,實(shí)際上就是把文件修改添加到暫存區(qū);
第二步是用git commit提交更改,實(shí)際上就是把暫存區(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 :初始化一個(gè)本地倉庫
git add –all :添加所有文件到暫存區(qū)(stage,index)
git commit -m :“描述信息” 提交更改到本地master分支
git status :查看git當(dāng)前狀態(tài)
git diff :查看改動(dòng)后和改動(dòng)前的不同之處
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)有的項(xiàng)目添加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)行項(xiàng)目版本控制,可視化的git管理工具也是我們?nèi)粘W罱?jīng)常使用的。

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

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

3.1.1 基本命令的使用

在project視圖下選中整個(gè)項(xiàng)目

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

image.png

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

push

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

這里可以有兩種方式設(shè)置遠(yuǎn)程倉庫地址
第一種,在可視化界面中點(diǎ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個(gè)命令可以讓你完全掌握遠(yuǎn)程倉庫的狀態(tài)信息,并且在出現(xiàn)異常時(shí)(如遠(yuǎn)程倉庫地址更改,服務(wù)器綁定域名更換等等),可以很方便地移除或者修改遠(yuǎn)程倉庫的地址。

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

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

3.1.3 Version control

清楚地展示Git flow

這里可以很清楚地展示git倉庫的各個(gè)版本之間的關(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)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容