Git的日常使用和提交模板

偽造目錄(PS:簡書有目錄功能嗎虾攻?會的教教我??):

  • Git的簡單實用
  • Git的提交模板
  • Git的簡單回滾操作
  • Git 關(guān)聯(lián)對應的 JIRA 任務

Git的簡單使用

前提需要有個工程文件夾,我們就叫 gitUse 吧劫谅。

# 進入要使用Git的目錄
cd gitUse
# 初始化一個git倉庫
git init
# 項目中應該有你編輯的文件等等超凳,將他們從工作區(qū)放到緩存區(qū)婿崭,也就是SourceTree中的 “暫存”
git add .
# 提交到本地倉庫婆硬,并填寫本次提交的描述信息
git commit -m "這里是本次提交的描述信息"
# 新建遠端的倉庫宰啦,去對應的git網(wǎng)站新建就好了
https://github.com/yylittlecat/gitUse.git
# 關(guān)聯(lián)本地與遠程的倉庫
git remote add origin https://github.com/yylittlecat/gitUse.git
# 將本地倉庫的代碼推送到遠程倉庫對應的分支
git push -u origin master

這樣一個簡單的初始化~提交過程就完成了苏遥。


Git的提交模板

不論 SVN 還是 Git 來進行代碼管理,糟糕的提交信息赡模,一定是被深惡痛絕的田炭,可能自己過段時間看了都會不忍直視。上面提到 commit 時的描述信息漓柑,如果提交的時候能有填寫規(guī)范或者有交互式的約束就好了教硫。這就要用到 git commit template 了叨吮。

我電腦是Mac ,目前用的是 commitizen 這個小工具瞬矩。

參考文章:老鳥都應該注意的git 提交規(guī)范

commitizen 是基于 Node茶鉴,所以先在你的 Mac 上安裝 node 環(huán)境,之后就可以開始我們下面的步驟了:

  • npm 全局安裝利器 commitizen
    npm install -g commitizen

  • 全局安裝規(guī)范模板景用,好東西大家享 ??
# 全局下載模板涵叮,cz-conventional-changelog 是被業(yè)界廣泛贊許的AngularJS的規(guī)范 
npm install -g cz-conventional-changelog 
# 路徑
echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc

  • 局部安裝規(guī)范模板,小試牛刀 ??
# 進入 Git 工程目錄
cd gitUse
# 如果項目本身就是 node 系列的伞插,例如 web 前端項目割粮,
# 你的項目下應該是有個 package.json 文件的,直接運行下面的命令 安裝規(guī)范模板 應該不會報錯媚污。
commitizen init cz-conventional-changelog  --save --save-exact
# 如果 是iOS 或者 Android 項目舀瓢,需要先生成對應的 package.json 文件
npm init
# 然后再執(zhí)行上面那條命令
commitizen init cz-conventional-changelog  --save --save-exact

如果是原生項目,執(zhí)行完上面的命令杠步,你會發(fā)現(xiàn)氢伟,又多了幾個文件 ??,就像這個鬼樣子

node文件

這些文件不需要做代碼管理幽歼,那我們就加到 忽略文件中好了朵锣,眼不見為凈,當然他還是赫赫地立在那里??甸私,手動忽略文件可以參考這里 SourceTree 全局忽略XC編譯文件無效 诚些。


接下來我們使用 git cz 命令來提交一下試試

git cz

會出現(xiàn)上面這個簡潔的交互,通過上下鍵來選擇 本次修改的類型 皇型,每個提交類型后面都有說明诬烹,看看選擇哪個合適,然后一步一步 跟著說明 enter 下去就 ?? 了弃鸦。


Type:

feat :新功能 
fix :修復bug  
doc : 文檔改變
style : 代碼格式改變
refactor :某個已有功能重構(gòu)
perf :性能優(yōu)化
test :增加測試
build :改變了build工具 如 grunt換成了 npm
revert: 撤銷上一次的 commit 

Scope:

scope :用來說明此次修改的影響范圍 可以隨便填寫任何東西绞吁,commitizen也給出了幾個 如:location 、browser唬格、compile家破。
不過我推薦使用:
all :表示影響面大 ,如修改了網(wǎng)絡框架  會對真?zhèn)€程序產(chǎn)生影響
loation: 表示影響小购岗,某個小小的功能
module:表示會影響某個模塊 如登錄模塊汰聋、首頁模塊 、用戶管理模塊等等

Others:

subject: 用來簡要描述本次改動喊积,概述就好了
body:具體的修改信息 應該盡量詳細
footer:放置寫備注啥的烹困,如果是 bug ,可以把bug id放入

最后會看到這樣的結(jié)果:


git cz result

從SourceTree 和 遠程倉庫 看一下提交記錄乾吻,可以直觀看到該次提交修改的描述:


SourceTree

Git的簡單回滾操作

就算Git中分支髓梅、提交拟蜻、gitflow 分的都很清楚,也難免會遇到需要回退到前幾個版本的尷尬境地女淑,你都是怎么做的呢瞭郑?施展CV大法嗎???
兩個簡單的命令就可以讓他滾回去:

git log -(需要查看的版本條數(shù))
git reset --hard [提交對應的編號]

我們來試試查看最近的三個提交是怎么樣的 git log -3

git log -3

我們可以看到每一個提交從上到下都有鸭你,對應的哈希值屈张、作者、郵箱袱巨、日期阁谆,以及我上面提到的提交信息,非常重要愉老,不然你都不知道這次提交是為了什么场绿,甚至找不到滾回去的位置。

假設我們要回滾到第三條嫉入,也就是5d9c3b1dab8de8932ebf8deffef821cf2052fd65 這一條焰盗,執(zhí)行命令git reset --hard 5d9c3b1dab8de8932ebf8deffef821cf2052fd65 即可,當前分支就回退到這個版本了咒林。

回退后熬拒,我們可能會修改代碼,這個時候又有新的問題了垫竞,以前的提交已經(jīng)push到遠程倉庫澎粟,也就是我們目前的代碼落后兩個版本,同時有一個新的commit待提交欢瞪。
兩個方式:
1活烙、強勢一點:硬提
git push -f origin [分支名稱]
2、委婉的:先拉去->解決沖突->重新提交整合后的代碼
git pull origin develop -> solve conflct -> git push -u origin develop
記得寫清楚提交信息鴨G补摹Pフ怠!F锼睢回懦!

這樣一個簡單的回滾就完成了。
不要告訴我你不會解決沖突曾我。??????????


Git 關(guān)聯(lián)對應的 JIRA 任務

Git關(guān)聯(lián)JIRA的issue

在提交修改的時候,描述信息加上在 JIRA 的任務/問題 編號健民,就可以關(guān)聯(lián)到一起了抒巢。

添加JIRA 任務編號
JIRA 評論結(jié)果
“就是這么不要臉”專用圖
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市秉犹,隨后出現(xiàn)的幾起案子蛉谜,更是在濱河造成了極大的恐慌稚晚,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件型诚,死亡現(xiàn)場離奇詭異客燕,居然都是意外死亡,警方通過查閱死者的電腦和手機狰贯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門也搓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人涵紊,你說我怎么就攤上這事傍妒。” “怎么了摸柄?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵颤练,是天一觀的道長。 經(jīng)常有香客問我驱负,道長嗦玖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任跃脊,我火速辦了婚禮宇挫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘匾乓。我一直安慰自己捞稿,他們只是感情好,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布拼缝。 她就那樣靜靜地躺著娱局,像睡著了一般。 火紅的嫁衣襯著肌膚如雪咧七。 梳的紋絲不亂的頭發(fā)上衰齐,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機與錄音继阻,去河邊找鬼耻涛。 笑死,一個胖子當著我的面吹牛瘟檩,可吹牛的內(nèi)容都是我干的抹缕。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼墨辛,長吁一口氣:“原來是場噩夢啊……” “哼卓研!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤奏赘,失蹤者是張志新(化名)和其女友劉穎寥闪,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體磨淌,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡疲憋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了梁只。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缚柳。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖敛纲,靈堂內(nèi)的尸體忽然破棺而出喂击,到底是詐尸還是另有隱情,我是刑警寧澤淤翔,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布翰绊,位于F島的核電站,受9級特大地震影響旁壮,放射性物質(zhì)發(fā)生泄漏监嗜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一抡谐、第九天 我趴在偏房一處隱蔽的房頂上張望裁奇。 院中可真熱鬧,春花似錦麦撵、人聲如沸刽肠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽音五。三九已至,卻和暖如春羔沙,著一層夾襖步出監(jiān)牢的瞬間躺涝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工扼雏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留坚嗜,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓诗充,卻偏偏與公主長得像苍蔬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蝴蜓,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

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

  • 一碟绑、Git是什么? 是一個開源的分布式版本控制系統(tǒng),可以有效蜈敢、高速的處理從很小到非常 大的項目版本管理。 Git ...
    名字誰不會取閱讀 1,031評論 0 0
  • 原文鏈接 前言 在git的使用中汽抚,一種最佳實踐是使用格式化的commit信息抓狭,這樣方便自動化工具進行處理,可以快速...
    馮宇Ops閱讀 8,554評論 2 34
  • 聲明:這篇文章來源于廖雪峰老師的官方網(wǎng)站造烁,我僅僅是作為學習之用 Git簡介 Git是什么否过? Git是目前世界上最先...
    橫渡閱讀 3,943評論 3 27
  • (預警:因為詳細,所以行文有些長惭蟋,新手邊看邊操作效果出乎你的預料) 一:Git是什么苗桂? Git是目前世界上最先進的...
    axiaochao閱讀 1,923評論 1 8
  • [TOC] 前言 剛剛開始使用Git的版本控制時,我根本不確定我付出那么多時間是不是會得到回報告组,Branch煤伟、St...
    木貓尾巴閱讀 7,457評論 6 36