溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

git個人使用命令有哪些

發(fā)布時間:2021-10-21 09:15:41 來源:億速云 閱讀:115 作者:柒染 欄目:大數(shù)據(jù)

這篇文章給大家介紹git個人使用命令有哪些,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

一、基礎(chǔ)命令

快照類操作:add、status、diff、commit、reset、rm、mv

分支類基本操作:branch、checkout、log、stash

分享及更新項(xiàng)目基本操作:pull、push

組合場景操作:

獲取代碼:創(chuàng)建倉庫(UI)、clone

提交代碼:add、status、diff、commit、reset

分享代碼:branch、push

更新代碼:stash、rebase、pull

閱讀代碼:checkout、log

貢獻(xiàn)代碼:fork、merge request

二、以下為具體操作與截圖

1、獲取代碼

在git bash命令下執(zhí)行g(shù)it clone <git下載地址>,例如:git clone git@git.scm.test.com:zhanyuyi/git_basic_homework.git

2、 建立.gitgnore

(1)第一次提交代碼前,建立.gitignore,在git bash命令下執(zhí)行touch .gitignore即可生成

git個人使用命令有哪些

(2)建立.gitignore后,提交

//添加.gitignore文件到暫存區(qū)

git add .gitgnore

//提交

git commit -m "chore:添加.gitgnore,忽略不需要版本跟蹤的文件"

(3)用文本編輯器如editplus或notepad++輸入需要忽略的文件或文件名,一般可忽略的文件有以下:

##ignore this file##
/target/ 

.classpath
.project
.settings      
 ##filter databfile、sln file##
*.mdb  
*.ldb  
*.sln    
##class file##
*.com  
*.class  
*.dll  
*.exe  
*.o  
*.so  
# compression file
*.7z  
*.dmg  
*.gz  
*.iso  
*.jar  
*.rar  
*.tar  
*.zip  
*.via
*.tmp
*.err 
# OS generated files #  
.DS_Store  
.DS_Store?  
._*  
.Spotlight-V100  
.Trashes  
Icon?  
ehthumbs.db  
Thumbs.db  

備注:

/target/ :過濾文件設(shè)置,表示過濾這個文件夾

*.mdb  ,*.ldb  ,*.sln 表示過濾某種類型的文件
/mtk/do.c ,/mtk/if.h  表示指定過濾某個文件下具體文件
 !*.c , !/dir/subdir/     !開頭表示不過濾
 *.[oa]    支持通配符:過濾repo中所有以.o或者.a為擴(kuò)展名的文件

該方法保證任何人都提交不了這類文件

3、提交代碼

本地working directory、staging area暫存區(qū)、local repo三個區(qū)域間切換關(guān)系

提交代碼前需要做好2點(diǎn),第一,一次提交只做一件事;第二,review后才提交。

通常為以下步驟:

//步驟1:查看本地倉庫狀態(tài)git status//步驟2:添加認(rèn)為本次提交應(yīng)包含的文件到暫存區(qū)git add file1

...//步驟3:review暫存區(qū)內(nèi)容git diff --cached//若review發(fā)現(xiàn)問題,則繼續(xù)修改,然后再add,直到滿意...//步驟4:提交到本地倉庫git commit -m "feat:新增a.java"//步驟5:提交到遠(yuǎn)程倉庫git push

有提交必然有提交日志,提交日志格式:

<type>(<scope>):<subject>//空一行<body>

提交日志規(guī)范如下:

type用于表示commit的類別,允許用下面8個標(biāo)識
ftr/(feat):新功能(feature)無ftr歷史原因的,請使用feat
fix:修補(bǔ)bug
docs:文檔(documentation)
style:格式(不影響代碼運(yùn)行的變動)
refactor:重構(gòu)(即不是新增功能,也不是修改bug的代碼變動)
test:增加測試
chore:構(gòu)建過程或輔助工具的變動
conflict:解決沖突scope用來標(biāo)識當(dāng)前提交代碼的影響范圍
如果jira單對應(yīng),用(#jira-1)的格式來標(biāo)準(zhǔn)(如果jira單對應(yīng)feat或fix,強(qiáng)制性添加)
如果沒jira單對應(yīng),則按層級描述代碼的影響范圍(eg:view,viewmodel,net,test,model,utils,protocol,presenter)
如果在代碼評審工具Phabricator評審代碼,在scope中加上fix的hash id
如果沒合適的范圍,可以不填subject是commit目的的簡短描述,不超過50個字符。
以動詞開頭
結(jié)尾不加句號(。)或句點(diǎn)(.)

body
是對本次commit的詳細(xì)描述,可以分成多行

提交范例:

有jira單例子
ftr(#JIRA-1):完成計(jì)算器加減開發(fā)

計(jì)算器加減法功能完成-添加加減法計(jì)算UI-添加錯誤提示樣式
沒jira單例子
refactor(viewmodel):重構(gòu)add viewmodel部分代碼,提高性能

add計(jì)算邏輯優(yōu)化-整型改為浮點(diǎn)型計(jì)算

4、合并代碼

合并他人分支時,例如需要把task_TEST-1_zhanyuyi合并到master分支

第一,若不在master分支,使用git checkout master把當(dāng)前分支切換到master分支;

第二,使用git merge task_TEST-1_zhanyuyi后,確定merge成功;

第三,使用git push,把當(dāng)前的master分支推送到遠(yuǎn)程master分支;

git個人使用命令有哪些

5、分享代碼(創(chuàng)建分支、推送到遠(yuǎn)程分支)

第一,創(chuàng)建專屬分支git branch <分支名>,分支命名規(guī)則:<任務(wù)類型>_<任務(wù)序號>_<姓名拼音縮寫>,例如:task_JIRA-1_zhanyuyi

第二,第一次push到遠(yuǎn)程分支(在遠(yuǎn)程倉庫創(chuàng)建分支并綁定到本地同名分支),git push -u origin <分支名稱>

第三,非首次push到遠(yuǎn)程分支,git push

以下為本地常用分支操作

//查看分支git branch//創(chuàng)建分支git branch <分支名>//切換分支git checkout <分支名>//創(chuàng)建+切換分支git checkout -b <新分支名字>//刪除分支git branch -d <需刪除的分支名>

 6、更新代碼

當(dāng)你正在專屬分支開發(fā)時時,臨時需要改BUG或切換分支,可用下面的步驟

//存儲所有目前帶有版本跟蹤的文件,并把文件恢復(fù)回和最新提交一致的內(nèi)容git stash//去做所有想做的事情,例如改BUG,切分支//搞定想做的事情后,準(zhǔn)備繼續(xù)前面的工作,切回原分支git checkout <原工作分支名字>//把第一步存儲的文件全部恢復(fù)回來git stash pop

然而無專屬分支時,確實(shí)需push

//存儲所有目前帶有版本跟蹤的文件,并把文件恢復(fù)回和最新提交一致的內(nèi)容git stash//獲取遠(yuǎn)程倉庫最新代碼,并應(yīng)用到本地git pull//推送遠(yuǎn)程倉庫git push//把第一步存儲的文件全部恢復(fù)回來git stash pop

在上面步驟看到git pul可以獲取遠(yuǎn)程倉庫最新代碼并應(yīng)用到本地,其實(shí)git pull效果等價于git fetch+git mergre<本地當(dāng)前分支名>

副作用:若pull時,本地有代碼沒push,會產(chǎn)生一次merge提交。不推薦在沒有進(jìn)行stash的前提下pull,容易沖突。

副作用解決方法:為了同步公共分支最新內(nèi)容,用git fetch+git rebase origin/<本地當(dāng)前分支名稱>代替git pull

例:
git fetch origin

git rebase origin/<本地當(dāng)前分支名>

7、閱讀代碼

當(dāng)你正在一個分支,突然想看看別人分支的代碼,可以用以下方法

//先把正在編輯的分支保存起來git stash//查看當(dāng)前分支提交日志git log//查看日志,一行一行閱讀日志git log --online//切換到指定提交后的狀態(tài)git checkout <單次提交的sha-1>//做你想做的事情
。。。//最后,記得把第一步存儲的文件全部恢復(fù)回來
git stash pop

看到這里,<單次提交的sha-1>相信大家疑問在哪里取,其實(shí),在查看日志每個提交開頭,7位,類似b76a6c5,如果切換到前一個提交后,一切正常還想看看前前一個提交如何,就用下面的方式

//查看上一個提交改了什么git log -p <提交的sha-1>

8、貢獻(xiàn)代碼

在網(wǎng)頁fork,然后merge request

關(guān)于git個人使用命令有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

git
AI