精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用Git Submodule可能遇到的坑

移動開發(fā) Android
隨著近幾年的發(fā)展,Git已經(jīng)成為開源界的標(biāo)準(zhǔn)的版本控制工具。開源界的重量級項目,如Linux, Android, Eclipse, Gnome, KDE, Qt, ROR, Debian,無一例外的都是使用git來進(jìn)行版本控制。在使用的過程中,作者發(fā)現(xiàn)了一些問題,在此分享給大家。

 

[[72462]]

前言

  對于一些比較大的工程,為了便于復(fù)用,常常需要抽取子項目。例如我開發(fā)的猿題庫客戶端現(xiàn)在包括3門考試,客戶端涉及的公共UI、公共底層邏輯、公共的第三方庫、以及公共的答題卡掃描算法就被我分別抽取成了子項目。這些子項目都以git submodule的形式,增加到工程中。

在使用了git submodule一段時間后,我發(fā)現(xiàn)了一些submodule的問題,在此分享給大家。
更新submodule的坑

  submodule項目和它的父項目本質(zhì)上是2個獨立的git倉庫。只是父項目存儲了它依賴的submodule項目的版本號信息而已。如果你的同事更新了submodule,然后更新了父項目中依賴的版本號。你需要在git pull之后,調(diào)用 git submodule update來更新submodule信息。

 

  這兒的坑在于,如果你git pull之后,忘記了調(diào)用 git submodule update,那么你極有可能再次把舊的submodule依賴信息提交上去。對于那些習(xí)慣使用 git commit -a的人來說,這種危險會更大一些。所以建議大家:
1.git pull之后,立即執(zhí)行g(shù)it status, 如果發(fā)現(xiàn)submodule有修改,立即執(zhí)行g(shù)it submodule update
2.盡量不要使用 git commit -a, git add命令存在的意義就是讓你對加入暫存區(qū)的文件做二次確認(rèn),而 git commit -a相當(dāng)于跳過了這個確認(rèn)過程。

 

  更復(fù)雜一些,如果你的submodule又依賴了submodule,那么很可能你需要在git pull 和 git submodule update之后,再分別到每個submodule中再執(zhí)行一次git submodule update,這里可以使用 git submodule foreach命令來實現(xiàn): git submodule foreach git submodule update

 

修改submodule的坑

  有些時候你需要對submodule做一些修改,很常見的做法就是切到submodule的目錄,然后做修改,然后commit和push。

 

  這里的坑在于,默認(rèn)git submodule update并不會將submodule切到任何branch,所以,默認(rèn)下submodule的HEAD是處于游離狀態(tài)的(‘detached HEAD’ state)。所以在修改前,記得一定要用git checkout master將當(dāng)前的submodule分支切換到master,然后才能做修改和提交。

 

  如果你不慎忘記切換到master分支,又做了提交,可以用cherry-pick命令挽救。具體做法如下:
1.用 git checkout master 將HEAD從游離狀態(tài)切換到 master 分支, 這時候,git會報Warning說有一個提交沒有在branch上,記住這個提交的change-id(假如change-id為 aaaa)
2.用 git cherry-pick aaaa 來將剛剛的提交作用在master分支上
3.用 git push 將更新提交到遠(yuǎn)程版本庫中

 

  以下是相關(guān)命令的操作示范和命令行輸出結(jié)果:
1. ui_common git:(df697f9) git checkout master
2.Warning: you are leaving 1 commit behind, not connected to
3.any of your branches:
4.
5.  df697f9 forget to check out master
6.
7.If you want to keep them by creating a new branch, this may be a good time
8.to do so with:
9.
10. git branch new_branch_name df697f911e5a0f09d883f8f360977e470c53d81e
11.
12.Switched to branch 'master'
13. ui_common git:(master) git cherry-pick df697f9

 

使用第三方工具

  對于submodule的重度使用者,有幾個工具可作推薦:
1.Repo Google用于管理Android項目的工具。
2.Gitslave
3.Git Subtree

  以上工具,我都沒有實際用過,所以無法提供更多信息。

 

Tips

  由于常常使用submodule的相關(guān)命令,可以在 ~/.gitconfig文件中將其設(shè)置別名,方便操作,我設(shè)置的所有相關(guān)別名如下:
1.[alias]
2.  st = status -s
3.  ci = commit
4.  l = log --oneline --decorate -12 --color
5.  ll = log --oneline --decorate --color
6.  lc = log --graph --color
7.  co = checkout
8.  br = branch
9.  rb = rebase
10.  dci = dcommit
11.  sbi = submodule init
12.  sbu = submodule update
13.  sbp = submodule foreach git pull
14.  sbc = submodule foreach git co master


參考鏈接
1.《why-your-company-shouldnt-use-git-submodules》 (需翻墻)

2.《Git_submodule_tutorial》
 

來源:唐巧的技術(shù)博客

責(zé)任編輯:佚名 來源: cocoachina
相關(guān)推薦

2018-07-16 14:23:30

代碼Android問題

2018-02-07 11:15:07

Vagrant使用問題

2023-04-04 08:38:27

命令Git倉庫

2024-10-06 13:41:25

2017-07-14 09:29:45

AndroidWebview

2016-03-23 11:03:40

2024-09-09 08:02:27

2017-08-01 05:44:10

Dockerweave虛擬機(jī)

2021-10-15 06:58:41

psycopg2綠色版 Python

2024-09-09 09:08:28

2021-03-18 14:47:42

Jenkins git submodu代碼

2017-06-23 11:20:00

DockerWeave內(nèi)核

2019-01-07 14:36:36

Go系統(tǒng)開源庫

2021-08-29 18:36:17

MySQL技術(shù)面試題

2017-09-27 15:20:23

PHPerLaravelMysql

2023-02-28 16:26:46

推薦系統(tǒng)模塊

2020-05-12 14:57:06

git commit代碼前端

2015-02-10 11:25:59

AndroidiOS微軟

2020-12-30 09:55:56

鴻蒙HarmonyOS環(huán)境搭建

2016-12-30 11:10:32

Hadoop開發(fā)JVM
點贊
收藏

51CTO技術(shù)棧公眾號

亚洲国产精品ⅴa在线观看| 老鸭窝亚洲一区二区三区| 日韩欧美高清一区| 你懂的av在线| 国内三级在线观看| 精品一区二区三区不卡| 久久久久久久久电影| 91网站免费视频| 国产精品视频一区二区三区综合 | 国产aaaaaaaaa| 欧美电影在线观看一区| 精品美女永久免费视频| 亚洲一区美女| 深夜福利视频网站| 卡一卡二国产精品| 韩国福利视频一区| 国产91在线播放九色| 久久丝袜视频| 91精品在线免费观看| 欧美 日韩 国产一区| 国产三级在线播放| 久久久久久一二三区| 99热在线播放| 在线观看中文字幕av| 91久久黄色| 精品国产依人香蕉在线精品| 性色av蜜臀av色欲av| 国产不卡精品在线| 91成人在线精品| ww国产内射精品后入国产| 麻豆视频在线免费观看| 国产三级三级三级精品8ⅰ区| 97超碰资源| 亚洲天堂aaa| 午夜亚洲激情| 97精品视频在线观看| 免费在线黄色网| 日韩.com| 在线亚洲午夜片av大片| 国产精品一区二区入口九绯色| 久久中文字幕一区二区| 欧美视频日韩视频在线观看| av免费观看网| 黄色成人在线网| 一区二区三区在线不卡| 中文字幕日韩一区二区三区不卡| 成人全视频高清免费观看| 99久久久久久| 国产一区喷水| 蜜桃av噜噜一区二区三区麻豆| 国产主播一区二区| 国产在线久久久| 亚洲无码精品在线播放| 日本不卡视频一二三区| 国产精品成人av性教育| 无码人妻久久一区二区三区| 亚洲免费在线| 欧美一级在线播放| 国产一级精品视频| 夜久久久久久| 日本精品免费一区二区三区| 狠狠人妻久久久久久| 香蕉久久久久久久av网站| 国产97在线|亚洲| 精人妻无码一区二区三区| 久久天堂成人| 国产精品久久久久久久一区探花| 超碰在线观看91| 免费成人在线网站| 91视频国产一区| 国产成人精品无码高潮| 国产盗摄视频一区二区三区| 成人免费看片网址| 熟妇人妻中文av无码| 99re这里只有精品首页| 欧美日韩国产综合视频在线| 国产片在线观看| 国产精品伦理一区二区| 久久久久久久免费视频| 国产亚av手机在线观看| 五月综合激情婷婷六月色窝| 无码人妻丰满熟妇区毛片| 成人自拍视频网| 欧美老女人第四色| 国产视频精品视频| 欧美精品中文字幕亚洲专区| 亚洲精品视频二区| 亚洲色图欧美色| 欧美一区成人| 2021国产精品视频| 一区二区视频免费| 国产成人在线色| 久久久久无码国产精品一区| 9i精品一二三区| 一区二区三区色| 99蜜桃臀久久久欧美精品网站| 日本另类视频| 欧美不卡视频一区| av手机在线播放| 欧美极品一区二区三区| 日本韩国欧美精品大片卡二| 亚洲综合精品视频| www.日本不卡| 亚洲一区二区三区涩| av在线理伦电影| 欧美色国产精品| 日本五十肥熟交尾| 奇米影视亚洲| 国外成人在线播放| 国产精品人妻一区二区三区| 99这里只有精品| 免费观看中文字幕| 欧美电影免费观看高清完整| 日韩精品一区二区三区视频播放| 色欲av无码一区二区三区| 亚洲女同另类| 国产精品成人播放| 四虎在线观看| 亚洲精品视频在线观看网站| 国产天堂在线播放| 日韩精品丝袜美腿| 久久99青青精品免费观看| 国产情侣呻吟对白高潮| 91在线观看下载| 欧美整片在线观看| 亚洲激情视频在线观看| 国产男女无遮挡猛进猛出| 嫩草影视亚洲| 午夜精品久久久久久久99热| 国产一区二区三区四区视频| 国产亚洲综合性久久久影院| 日本十八禁视频无遮挡| 欧美日韩黄网站| 日韩视频欧美视频| 最新国产中文字幕| 久久久久久久精| 黄色免费福利视频| 加勒比久久高清| 欧美激情一级精品国产| 99国产精品久久久久99打野战| 国产女人水真多18毛片18精品视频| 国产二区视频在线| 丁香一区二区| 欧美精品videosex牲欧美| 国产黄色片免费| 亚洲人成网站色在线观看| 久热精品在线播放| 日本一区二区免费高清| 国产精品老女人视频| 男人的天堂在线| 一本色道久久综合狠狠躁的推荐 | 色青青草原桃花久久综合| 精品成人无码久久久久久| 91麻豆6部合集magnet| 僵尸世界大战2 在线播放| 成人av婷婷| 97精品一区二区三区| 性xxxx视频| 色噜噜狠狠成人网p站| 国产aⅴ激情无码久久久无码| 久久久久看片| 午夜欧美一区二区三区免费观看| 国产91在线播放精品| 深夜精品寂寞黄网站在线观看| 在线播放国产一区| 国产精品福利一区| 中文字幕第六页| 亚洲无线视频| 久久精品一二三区| 亚洲精品国产嫩草在线观看| 伊人久久五月天| 国产裸体无遮挡| 亚洲国产日韩a在线播放| 亚洲天堂av网站| 麻豆成人精品| 不卡中文字幕在线| 99精品在免费线中文字幕网站一区 | 日韩少妇视频| 亚洲美女av在线| 中文字幕在线一| 一区二区三区在线不卡| v天堂中文在线| 日本视频在线一区| 欧洲金发美女大战黑人| 欧美重口另类| 国产在线观看精品| av有码在线观看| 丝袜亚洲欧美日韩综合| 亚洲精品成av人片天堂无码| 日韩欧美在线播放| 久草视频手机在线| 99热99精品| 日本中文字幕精品—区二区| 黄色成人91| 亚洲精美视频| 国产毛片久久久| 国产女人18毛片水18精品| av今日在线| 久久影院资源网| 欧美成熟毛茸茸| 日韩一区二区电影在线| 日本久久综合网| 亚洲一区二区偷拍精品| x88av在线| 成人午夜视频网站| av免费一区二区| 美女诱惑一区| 国产 日韩 欧美在线| 欧美国产一区二区三区激情无套| 激情伦成人综合小说| 国产成人免费av一区二区午夜| 欧美在线视频播放| 毛片网站在线看| 日韩色av导航| 日韩在线免费看| 日韩精品一区二区三区视频播放| 欧美在线视频精品| 精品久久香蕉国产线看观看亚洲 | 能在线看的av| 亚洲国产欧美一区二区三区久久| 国产又大又粗又硬| 91福利在线导航| 日本天堂网在线| 亚洲国产毛片aaaaa无费看| 日本免费网站视频| 久久九九久精品国产免费直播| 一级少妇精品久久久久久久| 国产精品一区二区不卡| 亚洲午夜激情影院| 免费黄网站欧美| 成人亚洲视频在线观看| 久久国产成人| 毛片一区二区三区四区| 亚洲日本免费| 精品无码一区二区三区在线| 午夜欧美精品| 一级性生活视频| 中文字幕一区二区三区乱码图片| 亚洲欧美综合一区| 色乱码一区二区三区网站| 日本不卡一区二区三区视频| 要久久爱电视剧全集完整观看| 精品一区二区三区自拍图片区| 9l亚洲国产成人精品一区二三| 91最新在线免费观看| 四虎国产精品永久在线国在线| 国产精品久久久久久影视| av在线一区不卡| 国产精品精品久久久久久| 欧美精选视频一区二区| 国产精品久久久91| 精品久久福利| 91在线中文字幕| 日韩一区免费| 精品高清视频| 美日韩中文字幕| 特级西西444www大精品视频| 久久在线视频免费观看| 国产精品12p| 欧美日韩精品免费观看视频完整| 奇米777四色影视在线看| 欧美三级网页| 日韩中字在线观看| 久久久久国产精品午夜一区| 日韩在线xxx| 蜜臀a∨国产成人精品| 男人午夜视频在线观看| 国产精品夜夜爽| 国产老熟女伦老熟妇露脸| 久久无码av三级| jizzjizzjizz国产| 亚洲精品国产视频| 国产午夜在线播放| 欧美三级在线看| 99久久久国产精品无码免费| 精品国产精品一区二区夜夜嗨| 性xxxx视频| 综合网中文字幕| 色yeye免费人成网站在线观看| 91av在线看| 久久99久久久精品欧美 | 精品一区亚洲| 一区二区不卡在线视频 午夜欧美不卡' | 亚洲第一男人av| 国产一级在线| 久久福利视频网| 不卡一二三区| 92裸体在线视频网站| 好吊妞视频这里有精品| 日韩欧美精品一区二区| 国内精品久久久久久久97牛牛 | 精品一区二区三区三区| 亚洲成人三级| 国产91精品青草社区| 四虎在线精品| 久久综合伊人77777麻豆| 91欧美日韩| 日韩avxxx| 国产传媒日韩欧美成人| 久操视频在线观看免费| 亚洲一区二区三区四区在线观看| 国产情侣小视频| 亚洲第一区中文字幕| 免费观看久久久久| 茄子视频成人在线| 亚洲综合网狠久久| 中文字幕久久综合| 久久久噜噜噜| 国产一线在线观看| 亚洲色大成网站www久久九九| 一区二区三区福利视频| 日韩欧美的一区二区| 亚洲成a人v欧美综合天堂麻豆| 91精品国产91久久久久久吃药| www.久久爱.com| 日产精品一线二线三线芒果| 在线看片一区| 色欲无码人妻久久精品| 国产精品久久久久久久久久免费看| 国产特黄大片aaaa毛片| 日韩一区二区三区在线观看| 91成人高清| 国产成人一区二| 牛牛视频精品一区二区不卡| 亚洲色婷婷久久精品av蜜桃| 久久国产人妖系列| 女人黄色一级片| 色婷婷综合久久久中文字幕| 少妇人妻精品一区二区三区| 欧美国产日产韩国视频| 精品久久免费| a级网站在线观看| 久久国产婷婷国产香蕉| 波多野结衣家庭教师在线观看| 一本色道久久综合精品竹菊| 欧洲毛片在线| 69久久夜色精品国产69| 麻豆精品av| 成年人午夜视频在线观看| 成人免费看的视频| 日本少妇在线观看| 精品国产伦一区二区三区免费| 羞羞的视频在线看| 99re视频| 国产中文一区| 中文字幕天堂av| 午夜视黄欧洲亚洲| 天天干天天插天天操| 992tv成人免费影院| 久久悠悠精品综合网| 欧美成人一区二区在线观看| 99视频一区二区| 国产在线观看黄色| 亚洲人午夜精品| 久久久久久久性潮| 在线看视频不卡| 国产精一区二区三区| 欧美日韩一级在线观看| 欧美精品一区视频| 久久电影tv| 亚洲欧美日韩综合一区| 国产精品夜夜嗨| 五月婷婷开心网| 在线播放日韩精品| 国产一区二区三区精品在线观看| 久久福利一区二区| 2023国产精品| 亚洲视频在线观看一区二区| 超碰97人人做人人爱少妇| 黑色丝袜福利片av久久| 日韩在线xxx| 亚洲精品中文字幕在线观看| 国产 日韩 欧美 综合| 日产精品99久久久久久| 99久久夜色精品国产亚洲96| 深夜视频在线观看| 欧美性猛交xxxx富婆弯腰| 3p视频在线观看| 福利精品视频| 日本欧美大码aⅴ在线播放| 亚洲最大的黄色网址| 日韩激情视频在线播放| 欧美成人三级| 久久久久久久久久久99| 中文字幕巨乱亚洲| 午夜精品无码一区二区三区| 日本久久久久久| 欧美88av| 99久久久无码国产精品衣服| 日韩欧美电影在线| a∨色狠狠一区二区三区| 国产精品69久久久| 国产精品免费视频一区| 日本黄色三级视频| 国产精自产拍久久久久久| 亚洲国产专区校园欧美| 亚洲AV成人无码精电影在线| 日韩高清中文字幕| 精品精品视频| 超碰在线97免费|