在 IDE 中玩轉 GitHub

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


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


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

在1991年,大佬 Linus 構建了開源操作系統,並命名爲 Linux,隨後帶領全世界計算機愛好者逐漸完善該系統 。

相對我們熟悉的Windows系統,這個名叫 Linux 的操作系統同樣滲透到我們生活的方方面面,比如是大部分網站應用數據與服務的系統載體。包括手機的 Android 系統,車載系統,智能終端等等也是基於 Linux 內核完成。

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

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

這樣做既可以提高工作效率,方便調試,同時也避免了人爲錯誤導致軟件的不穩定。總之,這款工具的使用對 Linux 的發展必不可少。

及時雨來自商業版本控制系統 BitKeeper,它向 Linus 拋出了橄欖枝,允許 Linux 開發社區免費使用。但是,問題在於社區裏都是計算機技術狂熱者,這相當於給了餓了幾天的人一個包子,說你不能喫肉餡,只能喫皮。

於是,有人對這個控制系統產生了想法,Samba(Linux的文件共享和打印機通信協議)的開發者 Andrew 開始嘗試破解 BitKeeper,嚐嚐肉餡是什麼味。

好景不長,BitKeeper 的開發公司 BitMover 發現了社區有人在破解他們的軟件,而且還不止 Andrew 一人,於是公司看透了這羣「綠林好漢},在2005年 BitKeeper 收回了 Linux 社區的免費使用權。

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

事實是,並沒有。

2005 年,Linus 爲了解決這一問題,他自己花了兩週時間開發了一個分佈式版本控制系統 Git,你沒有看錯是兩週時間,大佬的世界我不懂。

一個月後,Git 完成 Linux 系統源碼接管任務,隨後 Git 迅速在開源社區間流行。

01

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

      
      
      
sudo yum install git-all
git --version
Ubuntu

      
      
      
sudo apt-get install git
Windows
下載地址:https://git-scm.com/downloads

04
本地 Git 關聯 GitHub 遠程倉庫
如果你先安裝了Git環境,請啪啪啪搞出下面這個命令就差不多了。
  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"
  • 然後一路回車, 不要輸入人麼密碼,就會生產 ssh key pair

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

         
         
         
ssh-add ~/.ssh/id_rsa

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

cat ~/.ssh/id_rsa.pub
  • 把生產的文明編碼進行復制,需要放到自己的 GitHub 中的 SSH 中


2. 進入GitHub ,打開設置
 

3.新建一個 SSH key 

4. 填寫 SSH key 

5. 新建 GitHub 倉庫
 
6. 填寫信息,創建 GitHub 倉庫
7. 完成後你的倉庫後,類似這樣,紅框爲 git 地址

8. 將 GitHub 倉庫與我們本地的 Git 倉庫進行關聯

      
      
      
git remote add origin https://github.com/qqdb/example01.git
origin 後的 url 就是 GitHub 倉庫地址,在上一步中獲取
9. 將本地 Git 倉庫提交到 GitHub 遠程倉庫
第一次提交:

      
      
      
git push -u origin master
之後提交

      
      
      
git push origin master
如果報錯:
 
解決:

     
     
     
  
       
       
       
git push -f origin master
這是一種強制上傳方案,第一次可以使用,今後不建議使用。因爲這條命令會直接覆蓋遠程倉庫的版本信息。
05
推送本地倉庫到 GitHub
1. 進入設置

2. 登錄 GitHub 賬號

3. 配置 Git 

4. 使用 

5. 配置 

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

06
將 GitHub 倉庫克隆到本地
1. 進入配置 

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

完成後會有讀條 

3. 從 Pycharm 中查看 Github 
 

4.一般的 Git 操作 

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

3. 克隆大佬項目 
等進度條跑完 

我們會得到項目的倉庫 

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

5. 項目參與者創建pull請求 


填寫pull請求 

項目的維護者管理 pull 請求 
查看pull請求信息 

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

     
          
          
          

如有文章對你有幫助,

在看”和轉發是對我最大的支持!


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

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


點擊文末“閱讀原文”可直達

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

本文分享自微信公衆號 - Java專欄(finishbug)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章