日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android开发工具:Git,Github,GitBook

發(fā)布時(shí)間:2025/4/16 Android 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android开发工具:Git,Github,GitBook 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

從0開始學(xué)習(xí)GitHub系列

原文鏈接:http://blog.csdn.net/column/details/13170.html,原創(chuàng)發(fā)布于微信公眾號(hào) AndroidDeveloper「googdev」

  • 從0開始學(xué)習(xí) GitHub 系列之「01.初識(shí) GitHub」
  • 從0開始學(xué)習(xí) GitHub 系列之「02.加入 GitHub」
  • 從0開始學(xué)習(xí) GitHub 系列之「03.Git 速成」
  • 從0開始學(xué)習(xí) GitHub 系列之「04.向GitHub 提交代碼」
  • 從0開始學(xué)習(xí) GitHub 系列之「05.Git 進(jìn)階」
  • 從0開始學(xué)習(xí) GitHub 系列之「06.團(tuán)隊(duì)合作利器 Branch」
  • 從0開始學(xué)習(xí) GitHub 系列之「07.GitHub 常見的幾種操作」
  • 從0開始學(xué)習(xí) GitHub 系列之「08.如何發(fā)現(xiàn)優(yōu)秀的開源項(xiàng)目」
  • 使用GIT FLOW管理開發(fā)流程
  • gitflow
  • 從 0 開始學(xué)習(xí) GitHub 電子書免費(fèi)送
  • GitHub秘籍
  • Github使用指南
  • 常用 Git 命令清單
  • 送你一份學(xué)習(xí)Git的最佳資料,關(guān)于Git看這幾份資料足夠了,請(qǐng)叫我良心張,贊賞、點(diǎn)擊廣告都是我堅(jiān)持更新的最大動(dòng)力!

  • ProGit中文版:https://git-scm.com/book/zh/v2

  • 廖雪峰的Git教程: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

  • Git簡(jiǎn)易指南:http://rogerdudler.github.io/git-guide/index.zh.html

  • GitHub 系列電子書免費(fèi)獲取地址:http://pan.baidu.com/s/1gfn3U2v ,希望能對(duì)你有幫助。除了贊賞之外,你還可以隨手點(diǎn)贊、點(diǎn)擊下廣告,也是對(duì)我的支持與認(rèn)可,希望 17 年繼續(xù)加油,一起努力!

    一、Git與Github簡(jiǎn)介

    1、Git簡(jiǎn)介

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

    • Git是一款免費(fèi)、開源的分布式版本控制系統(tǒng)
    • Git可以有效、高速的處理從很小到非常大的項(xiàng)目版本管理。
    • Git最初由 Linux 之父 Linus Trovalds(林納斯·托瓦茲) 開發(fā),用作Linux內(nèi)核代碼的管理。
    • 官網(wǎng):https://git-scm.com

    Git的優(yōu)勢(shì)

    • 分布式,強(qiáng)調(diào)個(gè)體
    • 公共服務(wù)器壓力和數(shù)據(jù)量都不會(huì)太大
    • 速度快、靈活
    • 任意兩個(gè)開發(fā)者之間可以很容易的解決沖突
    • 離線工作

    2、Github簡(jiǎn)介

    • Github是全球最大的社交編程及代碼托管網(wǎng)站(https://github.com/)。
    • Github可以托管各種git庫(kù),并提供一個(gè)web界面。
    • Github作為開源代碼庫(kù)以及版本控制系統(tǒng),Github擁有百萬開發(fā)者用戶。隨著越來越多的應(yīng)用程序轉(zhuǎn)移到了云上,Github已經(jīng)成為了管理軟件開發(fā)以及發(fā)現(xiàn)已有代碼的首選方法。如,國(guó)內(nèi)知名互聯(lián)網(wǎng)公司的開源項(xiàng)目:
      • 阿里 https://github.com/alibaba
      • 騰訊 https://github.com/AlloyTeam
      • 百度 https://github.com/baidufe

    3、Github影響力

    全球頂級(jí)科技公司紛紛加入 GitHub ,并貢獻(xiàn)他們自己的項(xiàng)目代碼

    • Google:https://github.com/google
    • 蘋果:https://github.com/apple
    • Facebook:https://github.com/facebook
    • Twitter:https://github.com/twitter
    • 微軟:https://github.com/microsoft
    • Square:https://github.com/square
    • 阿里:https://github.com/alibaba

    全球頂級(jí)開源項(xiàng)目都優(yōu)先選擇在 GitHub 上開源

    • Linux:https://github.com/torvalds/linux
    • Rails:https://github.com/rails/rails
    • Nodejs:https://github.com/nodejs/node
    • Swift:https://github.com/apple/swift
    • CoffeeScript:https://github.com/jashkenas/coffeescript
    • Ruby:https://github.com/ruby/ruby
    • laravel:https://github.com/laravel/laravel

    全球頂級(jí)編程大牛加入GitHub

    Linux 發(fā)明者 Linus Torvalds:https://github.com/torvalds

    二、使用Github

    1、基本概念

    倉(cāng)庫(kù)(Repository)

    倉(cāng)庫(kù)的意思,即你的項(xiàng)目,你想在 GitHub 上開源一個(gè)項(xiàng)目,那就必須要新建一個(gè) Repository ,如果你開源的項(xiàng)目多了,你就擁有了多個(gè) Repositories 。

    收藏(Star)

    倉(cāng)庫(kù)主頁(yè)star按鈕,意思為收藏項(xiàng)目的人數(shù),在 GitHub 上如果你有一個(gè)項(xiàng)目獲得100個(gè)star都算很不容易了!

    復(fù)制克隆項(xiàng)目(Fork)

    這個(gè)不好翻譯,如果實(shí)在要翻譯我把他翻譯成分叉,什么意思呢?你開源了一個(gè)項(xiàng)目,別人想在你這個(gè)項(xiàng)目的基礎(chǔ)上做些改進(jìn),然后應(yīng)用到自己的項(xiàng)目中,這個(gè)時(shí)候他就可以 Fork 你的項(xiàng)目(打開項(xiàng)目主頁(yè)點(diǎn)擊右上角的fork按鈕即可),然后他的 GitHub 主頁(yè)上就多了一個(gè)項(xiàng)目,只不過這個(gè)項(xiàng)目是基于你的項(xiàng)目基礎(chǔ)(本質(zhì)上是在原有項(xiàng)目的基礎(chǔ)上新建了一個(gè)分支),他就可以隨心所欲的去改進(jìn),但是絲毫不會(huì)影響原有項(xiàng)目的代碼與結(jié)構(gòu)。

    發(fā)起請(qǐng)求(Pull Request)

    發(fā)起請(qǐng)求,這個(gè)其實(shí)是基于 Fork 的,還是上面那個(gè)例子,如果別人在你基礎(chǔ)上做了改進(jìn),后來覺得改進(jìn)的很不錯(cuò),應(yīng)該要把這些改進(jìn)讓更多的人收益,于是就想把自己的改進(jìn)合并到原有項(xiàng)目里,這個(gè)時(shí)候他就可以發(fā)起一個(gè) Pull Request(簡(jiǎn)稱PR) ,原有項(xiàng)目創(chuàng)建人,也就是你,就可以收到這個(gè)請(qǐng)求,這個(gè)時(shí)候你會(huì)仔細(xì)review他的代碼,并且測(cè)試覺得OK了,就會(huì)接受他的PR,這個(gè)時(shí)候他做的改進(jìn)原有項(xiàng)目就會(huì)擁有了。

    關(guān)注(Watch)

    這個(gè)也好理解就是觀察,如果你 Watch 了某個(gè)項(xiàng)目,那么以后只要這個(gè)項(xiàng)目有任何更新,你都會(huì)第一時(shí)間收到關(guān)于這個(gè)項(xiàng)目的通知提醒。

    事務(wù)卡片(Issue)

    發(fā)現(xiàn)代碼BUG,但是目前沒有成型代碼,需要討論時(shí)用;
    問題的意思,舉個(gè)例子,就是你開源了一個(gè)項(xiàng)目,別人發(fā)現(xiàn)你的項(xiàng)目中有bug,或者哪些地方做的不夠好,他就可以給你提個(gè) Issue ,即問題,提的問題多了,也就是 Issues ,然后你看到了這些問題就可以去逐個(gè)修復(fù),修復(fù)ok了就可以一個(gè)個(gè)的 Close 掉。

    Github主頁(yè)

    賬號(hào)創(chuàng)建成功或點(diǎn)擊網(wǎng)址導(dǎo)航欄github圖標(biāo)都可進(jìn)入github主頁(yè):該頁(yè)左側(cè)主要顯示用戶動(dòng)態(tài)以及關(guān)注用戶或關(guān)注倉(cāng)庫(kù)的動(dòng)態(tài);右側(cè)顯示所有的git庫(kù)

    倉(cāng)庫(kù)主頁(yè)

    倉(cāng)庫(kù)主頁(yè)主要顯示項(xiàng)目的信息,如:項(xiàng)目代碼,版本,收藏/關(guān)注/fork情況等

    個(gè)人主頁(yè)

    個(gè)人信息:頭像,個(gè)人簡(jiǎn)介,關(guān)注我的人,我關(guān)注的人,我關(guān)注的git庫(kù),我的開源項(xiàng)目,我貢獻(xiàn)的開源項(xiàng)目等信息

    2、注冊(cè)github賬號(hào)

    打開官網(wǎng) github.com 注冊(cè)

    3、創(chuàng)建倉(cāng)庫(kù)

    腳下留心:1、新注冊(cè)的用戶必須驗(yàn)證郵箱 2、一般情況一個(gè)git庫(kù)對(duì)應(yīng)一個(gè)項(xiàng)目

    4、個(gè)人中心

    注冊(cè)成功或者每次登錄都會(huì)進(jìn)入個(gè)人中心顯示對(duì)應(yīng)的控制面板

    添加合作者

    三、Git安裝和使用

    四、Git基本工作流程

    AllenIverson@AllenIverson MINGW64 ~/Desktop $ mkdir gittestAllenIverson@AllenIverson MINGW64 ~/Desktop $ cd gittestAllenIverson@AllenIverson MINGW64 ~/Desktop/gittest $ git init Initialized empty Git repository in C:/Users/AllenIverson/Desktop/gittest/.git/AllenIverson@AllenIverson MINGW64 ~/Desktop/gittest (master)

    Git工作區(qū)域

    實(shí)際開發(fā)目錄

    • trunk,主分支 : 當(dāng)前代碼開發(fā)的目錄
    • tags,里程碑: 發(fā)布的版本記錄
    • branches,分支目錄: bug的修復(fù) ,新技術(shù)的研究(1,能否提供開發(fā)效率,2,能否提高軟件的訪問性能)

    Master 主線/主分支

    revert 恢復(fù),checkout

    Git Repository(Git 倉(cāng)庫(kù))

    最終確定的文件保存到倉(cāng)庫(kù),成為一個(gè)新的版本,并且對(duì)他人可見

    暫存區(qū)

    暫存已經(jīng)修改的文件,最后統(tǒng)一提交到git倉(cāng)庫(kù)中

    工作區(qū)(Working Directory)

    添加、編輯、修改文件等動(dòng)作

    向倉(cāng)庫(kù)中添加文件流程

    命令

    git initgit config --global user.name 'name'git config --global user.email 'email'git config --listtouch test.javagit statusgit add test.javagit commit -m '提交描述'git pushlsrmviclear

    vim使用

    vim三種模式:命令模式、插入模式、編輯模式。使用ESC或i或:來切換模式。

    命令模式下:

    :q 退出 :q! 強(qiáng)制退出 :wq 保存并退出

    Create/Apply Patch

    五、Git管理遠(yuǎn)程倉(cāng)庫(kù)

    git clone 倉(cāng)庫(kù)地址git push

    六、Github Pages 搭建網(wǎng)站

    七、AndroidStudio

    代碼托管

    • GitHub
    • 開源中國(guó)
    • CSDN

    協(xié)同開發(fā)中Git的使用規(guī)范

    先更新,再提交

    Git更新的原則是要隨時(shí)更新,隨時(shí)提交。當(dāng)完成了一個(gè)小功能,能夠通過編譯并且自己測(cè)試之后,謹(jǐn)慎地提交。

    如果在修改的期間別人也更改了Git的對(duì)應(yīng)文件,那么commit就可能會(huì)失敗。如果別人和自 己更改的是同一個(gè)文件,那么update時(shí)會(huì)自動(dòng)進(jìn)行合并,如果修改的是同一行,那么合并時(shí)會(huì)產(chǎn)生沖突,這種情況就需要同之前的開發(fā)人員聯(lián)系,兩個(gè)人一起協(xié)商解決沖突,解決沖突之后,需要兩人一起測(cè)試保證解決沖突之后,程序不會(huì)影響其他功能。

    在更新時(shí)注意所更新文件的列表,如果提交過程中產(chǎn)生了更新,則也是需要重新編譯并且完成自己的一些必要測(cè)試,再進(jìn)行提交。這樣既能了解別人修改了哪些文件,同時(shí)也能避免SVN合并錯(cuò)誤導(dǎo)致代碼有錯(cuò)。

    多提交

    每次提交的間歇盡可能地短,以幾個(gè)小時(shí)的開發(fā)工作為宜。例如在更改UI界面的時(shí)候,可以每完成一個(gè)UI界面的修改或者設(shè)計(jì),就提交一次。在開發(fā)功能模塊的時(shí)候,可以每完成一個(gè)小細(xì)節(jié)功能的測(cè)試,就提交一次,在修改bug的時(shí)候,每修改掉一個(gè)bug并且確認(rèn)修改了這個(gè)bug,也就提交一次。我們提倡多提交,也就能多為代碼添加上保險(xiǎn)。

    不要提交不能通過編譯的代碼

    代碼在提交之前,首先要確認(rèn)自己能夠在本地編譯。如果在代碼中使用了第三方類庫(kù),要考慮到項(xiàng)目組成員中有些成員可能沒有安裝相應(yīng)的第三方類庫(kù)。項(xiàng)目經(jīng)理在準(zhǔn)備項(xiàng)目工作區(qū)域的時(shí)候,需要考慮到這樣的情況,確保開發(fā)小組成員在簽出代碼之后能夠在統(tǒng)一的環(huán)境中進(jìn)行編譯。

    每次提交必須書寫明晰的標(biāo)注

    在一個(gè)項(xiàng)目組中使用SVN,如果提交空的標(biāo)注或者不確切的標(biāo)注將會(huì)讓項(xiàng)目組中其他的成員感到很無奈,項(xiàng)目經(jīng)理無法很清晰的掌握工作進(jìn)度,無法清晰的把握此次提交的概要信息。在發(fā)現(xiàn)錯(cuò)誤后也無法準(zhǔn)確的定位引起錯(cuò)誤的文件。所以,在提交工作時(shí),要填寫明晰的標(biāo)注,能夠概要的描述所提交文件的信息,讓項(xiàng)目組其他成員在看到標(biāo)注后不用詳細(xì)看代碼就能了解你所做的修改。

    提交時(shí)注意不要提交本地自動(dòng)生成的文件

    例如eclipse中的.classpath文件,Windows生成的縮略圖Thumbs.db,項(xiàng)目編譯生成的臨時(shí)文件.obj, .class等等。如果項(xiàng)目中沒有進(jìn)行這方面的配置來強(qiáng)行禁止提交這樣的文件,請(qǐng)自覺不要提交這樣的文件。提交了這樣的文件后,別人在更新后就可能與本地的環(huán)境沖突從而影響大家的工作。

    不要提交自己不明白的代碼

    代碼在提交入SVN之后,你的代碼將被項(xiàng)目成員所分享。如果提交了你不明白的代碼,你看不懂,別人也看不懂,如果在以后出現(xiàn)了問題將會(huì)成為項(xiàng)目質(zhì)量的隱患。因此在引入任何第三方代碼之前,確保你對(duì)這個(gè)代碼有一個(gè)很清晰的了解。

    慎用鎖定功能 在項(xiàng)目中要慎用鎖定的功能,在你鎖定了一個(gè)文件之后別人就無法繼續(xù)修改提交該文件,雖然可以減少?zèng)_突的發(fā)生率,但是可能會(huì)影響項(xiàng)目組中其他人員的工作。平時(shí)只有在編輯那些無法合并的文件(例如圖片文件,flash文件等)時(shí),才適當(dāng)?shù)牟捎面i定操作。

    Git使用中遇到的問題

    fatal: The remote end hung up unexpectedly fatal: The remote end hung up unexpectedly error: RPC failed; curl 56 SSL read: error:00000000:lib(0):func(0):reason(0), errno 10054

    原因

    可能是上傳文件過大

    解決方法

    git config http.postBuffer 524288000 git config --global http.postBuffer 524288000

    總結(jié)

    以上是生活随笔為你收集整理的Android开发工具:Git,Github,GitBook的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。