<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ?在 IDE 中玩轉(zhuǎn) GitHub

          共 4447字,需瀏覽 9分鐘

           ·

          2021-03-24 12:36

          超全面!Java核心知識總結(jié)(點擊查看)


          超全面!Java核心知識總結(jié)(點擊查看)


          說到 GitHub 就不得不提 Git,它的誕生也頗具傳奇色彩。

          在1991年,大佬 Linus 構(gòu)建了開源操作系統(tǒng),并命名為 Linux,隨后帶領(lǐng)全世界計算機(jī)愛好者逐漸完善該系統(tǒng) 。

          相對我們熟悉的Windows系統(tǒng),這個名叫 Linux 的操作系統(tǒng)同樣滲透到我們生活的方方面面,比如是大部分網(wǎng)站應(yīng)用數(shù)據(jù)與服務(wù)的系統(tǒng)載體。包括手機(jī)的 Android 系統(tǒng),車載系統(tǒng),智能終端等等也是基于 Linux 內(nèi)核完成。

          Linux 在開發(fā)伊始,Linux 開源社區(qū)的人們通過將源代碼文件通過 diff 的方式發(fā)送給 Linus 大佬,然后 Linus 使用多年的功力手工將這些代碼整合到 Linus。但是,隨著社區(qū)提供的代碼越來越多,Linus 也頂不住了。

          這時候,就需要一款工具可以將不同人,不同來源的代碼整合到軟件的主代碼中。而且可以對源代碼修改,刪除等等改動一一記錄,方便后續(xù)的調(diào)試和整合。

          這樣做既可以提高工作效率,方便調(diào)試,同時也避免了人為錯誤導(dǎo)致軟件的不穩(wěn)定??傊?,這款工具的使用對 Linux 的發(fā)展必不可少。

          及時雨來自商業(yè)版本控制系統(tǒng) BitKeeper,它向 Linus 拋出了橄欖枝,允許 Linux 開發(fā)社區(qū)免費使用。但是,問題在于社區(qū)里都是計算機(jī)技術(shù)狂熱者,這相當(dāng)于給了餓了幾天的人一個包子,說你不能吃肉餡,只能吃皮。

          于是,有人對這個控制系統(tǒng)產(chǎn)生了想法,Samba(Linux的文件共享和打印機(jī)通信協(xié)議)的開發(fā)者 Andrew 開始嘗試破解 BitKeeper,嘗嘗肉餡是什么味。

          好景不長,BitKeeper 的開發(fā)公司 BitMover 發(fā)現(xiàn)了社區(qū)有人在破解他們的軟件,而且還不止 Andrew 一人,于是公司看透了這群「綠林好漢},在2005年 BitKeeper 收回了 Linux 社區(qū)的免費使用權(quán)。

          沒有了免費的版本控制系統(tǒng),日子還得過,Linux 的代碼量還在與日俱增,Linux 社區(qū)要給商業(yè)軟件低頭了嗎?

          事實是,并沒有。

          2005 年,Linus 為了解決這一問題,他自己花了兩周時間開發(fā)了一個分布式版本控制系統(tǒng) Git,你沒有看錯是兩周時間,大佬的世界我不懂。

          一個月后,Git 完成 Linux 系統(tǒng)源碼接管任務(wù),隨后 Git 迅速在開源社區(qū)間流行。

          01

          GitHub 的出生
          Git 可以在本地執(zhí)行,但是這只是你一個人在玩代碼。如果你想通過 Git 分享你的代碼或者與其他開發(fā)人員合作。你就需要將數(shù)據(jù)放到一臺其他開發(fā)人員能夠連接的服務(wù)器上。
          2008年, GitHub 應(yīng)運而生,它為每個人提供了遠(yuǎn)程倉庫,并且提供了相應(yīng)的社區(qū)化服務(wù)。 
          GitHub的上線為開源項目提供了立足之地,我們熟系的 JQuery,PHP 等開源項目開始從獨立的社區(qū)遷移到 GitHub。而正如 Apache 開源基金會所提倡的先社區(qū)而后代碼,一個強(qiáng)有力的社區(qū)能使一款有潛力的軟件持續(xù)的向好發(fā)展。 
          其實,我們現(xiàn)在看生信文獻(xiàn)的時候,只有涉及到生信軟件發(fā)布,數(shù)據(jù)流程處理,在線軟件等等與編程相關(guān)的上線項目都會首先發(fā)布在GitHub,并提供 GitHub 克隆地址。
          2018年,微軟宣布以 75 億美元收購 GitHub。
          2019年,GitHub 宣布開發(fā)者可以免費最多四人協(xié)作的私人倉庫。這一權(quán)限的開放,使得我們大部分的實驗人員都可以更好的加入 GitHub 社區(qū),完成多人協(xié)作任務(wù)。
          歷史的拐點就是這么神奇,如果沒有 Andrew 的破解,BitKeeper的憤怒,Linus 也不會創(chuàng)造出 Git,也更不會有現(xiàn)在免費的 GitHub。
          02
          GitHub 和 Git 對我們來說有什么用?
          從上面的故事可以看出,Git 和 GitHub 要解決的是多人協(xié)作完成不同地點,不同時間提交源碼并整合到最終項目的問題??偨Y(jié)下:
          版本管理:通過使用快照等方式,可以將你的代碼修改可以提交到 Git 庫。只要提交,全部的數(shù)據(jù)就會被記錄一個版本,而且Git很難執(zhí)行不可逆操作,這就意味著只要提交,數(shù)據(jù)想丟都難。
          協(xié)同修改:多人并行不悖的修改服務(wù)器端的同一個文件,數(shù)據(jù)備份。
          文件狀態(tài):不僅保存目錄和文件的當(dāng)前狀態(tài), 還能夠保存每一個提交過的歷史狀態(tài),很贊的功能就是,可以將歷史代碼回溯到某個時間點的狀態(tài)。
          權(quán)限控制:團(tuán)隊中每個人對文件具有不同權(quán)限,也可以接受非團(tuán)隊合并源碼。
          分支管理:將不同來源,功能整合與主要代碼中,允許開發(fā)團(tuán)隊在工作過程中多條生產(chǎn)線同時推進(jìn)任務(wù), 進(jìn)一步提高效率。
          分布式:同一個 Git 倉庫,可以分布到不同的機(jī)器上,這就意味著代碼可以在云端和本地都有一套完整的倉庫,除了離線使用的便利,提高了執(zhí)行速度,多個拷貝也提高了數(shù)據(jù)安全性。
          剛剛介紹了 GitHub 和 Git 的誕生歷史,接下來是有用的小技巧。我們平常 coding 都是在 IDE 中,比如 Intellij IDEA、Pycharm,如何如果能把 Git 和 GitHub 植入到 IDE 中,很多事會方便很多。接下來我們完成 Git,GitHub 在 IDE 中的安裝,以 Pycharm 為例, IDEA 也是 Jetbrain 旗下產(chǎn)品,配置方式也大同小異。:
          03
          安裝 Git
          CentOS
          sudo yum install git-all
          git --version
          Ubuntu
          sudo apt-get install git
          Windows
          下載地址:https://git-scm.com/downloads

          04
          本地 Git 關(guān)聯(lián) GitHub 遠(yuǎn)程倉庫
          如果你先安裝了Git環(huán)境,請啪啪啪搞出下面這個命令就差不多了。
          1. 配置用戶名

          git config --global user.name "guangguang"
          1. 配置郵箱

          git config --global user.email "[email protected]"
          1. 其他配置

          git config --global merge.tool "kdiff3"

          git config --global core.autocrlf false // Git不用管換行符的事情
          1. 編碼配置

          git config --global gui.encoding utf-8 //gui中的中文亂碼

          git config --global core.quotePath off //避免status顯示中文亂碼
          1. Windows上還需要配置

          git config --global core.ignorecase false
          1. Git SSH key

          • Git Bash鍵入如下的命令

          ssh-keygen -t rsa -C "1027700603@qq.com"
          • 然后一路回車, 不要輸入人么密碼,就會生產(chǎn) ssh key pair

          • 鍵入以下命令,~/ 指的是用戶目錄下

          ssh-add ~/.ssh/id_rsa

          // 如果執(zhí)行ssh-add時出現(xiàn)Could not open a connection to your authentication agent執(zhí)行ssh-add ~/.ssh/id_rsa報標(biāo)題之前像執(zhí)行 eval `ssh-agent` (~鍵上的`),再執(zhí)行ssh-add ~/.ssh/id_rsa成功ssh-add -l就有新加的rsa

          cat ~/.ssh/id_rsa.pub
          • 把生產(chǎn)的文明編碼進(jìn)行復(fù)制,需要放到自己的 GitHub 中的 SSH 中


          2. 進(jìn)入GitHub ,打開設(shè)置
           

          3.新建一個 SSH key 

          4. 填寫 SSH key 

          5. 新建 GitHub 倉庫
           
          6. 填寫信息,創(chuàng)建 GitHub 倉庫
          7. 完成后你的倉庫后,類似這樣,紅框為 git 地址

          8. 將 GitHub 倉庫與我們本地的 Git 倉庫進(jìn)行關(guān)聯(lián)
          git remote add origin https://github.com/qqdb/example01.git
          origin 后的 url 就是 GitHub 倉庫地址,在上一步中獲取
          9. 將本地 Git 倉庫提交到 GitHub 遠(yuǎn)程倉庫
          第一次提交:
          git push -u origin master
          之后提交
          git push origin master
          如果報錯:
           
          解決:
          git push -f origin master
          這是一種強(qiáng)制上傳方案,第一次可以使用,今后不建議使用。因為這條命令會直接覆蓋遠(yuǎn)程倉庫的版本信息。
          05
          推送本地倉庫到 GitHub
          1. 進(jìn)入設(shè)置

          2. 登錄 GitHub 賬號

          3. 配置 Git 

          4. 使用 

          5. 配置 

          6. 上傳,這里一般會全部上傳到 GitHub,如果有大文件可以考慮取消勾選。
          7. 上傳成功 

          06
          將 GitHub 倉庫克隆到本地
          1. 進(jìn)入配置 

          2.克隆項目。
          克隆大佬的項目 

          完成后會有讀條 

          3. 從 Pycharm 中查看 Github 
           

          4.一般的 Git 操作 

          07
          參與 GitHub 項目
          1. Fork 一個項目
          Fork 是 GitHub 存儲庫的副本,可在不影響原始項目的情況下更改代碼。
          比如,https://github.com/scikit-learn/scikit-learn 
          2. 進(jìn)入 Pycharm 的版本控制界面 

          3. 克隆大佬項目 
          等進(jìn)度條跑完 

          我們會得到項目的倉庫 

          4.查看項目參與者的操作日志 

          5. 項目參與者創(chuàng)建pull請求 


          填寫pull請求 

          項目的維護(hù)者管理 pull 請求 
          查看pull請求信息 

          本文來源:
          [1] 整理補(bǔ)充:逛逛GitHub (公眾號@ggGitHub)
          [2] www.jinshuin.proginn.com/p/763bfbd378e2

          如有文章對你有幫助,

          在看”和轉(zhuǎn)發(fā)是對我最大的支持!


          推薦 GitHub 書籍倉庫
          https://github.com/ebooklist/awesome-ebooks-list

          整理了大部分常用 技術(shù)書籍PDF,持續(xù)更新中... 你需要的技術(shù)書籍,這里可能都有...


          點擊文末“閱讀原文”可直達(dá)

          整理不易,麻煩各位小伙伴在GitHub中來個一鍵三連!

          瀏覽 42
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  操逼电影中文字幕 | 男女操逼在线免费观看 | 睛唱久久久久久久 | 一区二区三区无码播放 | 俺来俺来也www色官网 |