中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

git個人使用命令有哪些

發布時間:2021-10-21 09:15:41 來源:億速云 閱讀:116 作者:柒染 欄目:大數據

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

一、基礎命令

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

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

分享及更新項目基本操作:pull、push

組合場景操作:

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

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

分享代碼:branch、push

更新代碼:stash、rebase、pull

閱讀代碼:checkout、log

貢獻代碼:fork、merge request

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

1、獲取代碼

在git bash命令下執行git clone <git下載地址>,例如:git clone git@git.scm.test.com:zhanyuyi/git_basic_homework.git

2、 建立.gitgnore

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

git個人使用命令有哪些

(2)建立.gitignore后,提交

//添加.gitignore文件到暫存區

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/ :過濾文件設置,表示過濾這個文件夾

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

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

3、提交代碼

本地working directory、staging area暫存區、local repo三個區域間切換關系

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

通常為以下步驟:

//步驟1:查看本地倉庫狀態git status//步驟2:添加認為本次提交應包含的文件到暫存區git add file1

...//步驟3:review暫存區內容git diff --cached//若review發現問題,則繼續修改,然后再add,直到滿意...//步驟4:提交到本地倉庫git commit -m "feat:新增a.java"//步驟5:提交到遠程倉庫git push

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

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

提交日志規范如下:

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

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

提交范例:

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

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

add計算邏輯優化-整型改為浮點型計算

4、合并代碼

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

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

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

第三,使用git push,把當前的master分支推送到遠程master分支;

git個人使用命令有哪些

5、分享代碼(創建分支、推送到遠程分支)

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

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

第三,非首次push到遠程分支,git push

以下為本地常用分支操作

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

 6、更新代碼

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

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

然而無專屬分支時,確實需push

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

在上面步驟看到git pul可以獲取遠程倉庫最新代碼并應用到本地,其實git pull效果等價于git fetch+git mergre<本地當前分支名>

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

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

例:
git fetch origin

git rebase origin/<本地當前分支名>

7、閱讀代碼

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

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

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

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

8、貢獻代碼

在網頁fork,然后merge request

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

git
AI

垫江县| 靖西县| 峨边| 和田市| 松阳县| 广河县| 临颍县| 菏泽市| 文安县| 德保县| 墨江| 浙江省| 乌兰县| 勃利县| 昌宁县| 乐亭县| 南康市| 通城县| 大理市| 海晏县| 葵青区| 克什克腾旗| 苍梧县| 正宁县| 南木林县| 齐齐哈尔市| 宁阳县| 潍坊市| 泰兴市| 永安市| 邢台市| 油尖旺区| 金川县| 竹山县| 盱眙县| 青海省| 宜黄县| 临高县| 凤凰县| 乌兰浩特市| 东台市|