1. 程式人生 > >Github的基本功能(轉自知乎)

Github的基本功能(轉自知乎)

Github的基本功能:
● Repository:你和我一起做“知乎首頁”,“知乎首頁”就是Repository,即專案或者”未來武器T2級425mm磁軌炮“之類,怎麼叫隨你,你只需知道Repository是個放專案的地方就行。有時候會出現Repositories,是多個Repository的意思。
● Fork:我們把製作“知乎首頁“的工作分開,你負責美工,我負責前端開發,但我們還需要資料伺服器高手。你找來了一位php大牛,這位大牛很快搞定了伺服器端,閒來無事,就看了看我的前端程式碼,一看,“我靠,這怎麼一點也不語義化呢?全是尼瑪的清一色的啊,將來做互動js還搞不搞dom了……”於是這大牛在Repository中找到了我寫的“zhi.html”,Fork了一份,也就是授權拷貝。
● Branch:Fork之後,在大牛的Github上出現了一個同樣叫做“知乎首頁”的Repository,但是這個Repository是複製品,只歸他,這就是他的Branch,也就是分支。
● Pull Request:大牛做完了一份全新的高階zhi.html,點了Pull Request,也就是推送請求。我接受了,看了一眼,頓時驚訝爆表,“中國足球——高,實在是高!”
● 現在你懂了,Github的結構是Repository-Branch-(獲取/推送)檔案。你又發現Github可以比較兩個檔案的異同,新增的部分用綠色標記,刪除的部分用紅色標記。Pull Request還可以控制,甚至可以合併Branch,這就是團隊合作利器啊,真乃高大上也,手癢了吧?心動了吧?

  1. 註冊Github並登入。
  2. 下載客戶端並登入,客戶端負責你硬碟上的資料與Github伺服器資料的互動,然後設定儲存目錄。為了表現你的才華,你決定將此目錄命名為“諸神之爹”。
  3. 既然有這麼多的國外開源專案,我們國內哪有不自主的道理。必須要實踐一下這個頂好讚的Fork功能。現在你來到了Fadeoc/frontend · GitHub,你看到了這是使用者Fadeoc的一個叫做“frontend”的Repository,你笑了,這傢伙學習前端知識不過十天,程式碼一片渣,竟然有的程式碼裡只寫了“土豆”和“二狗子”幾個漢字。你點了一下右上角的Fork,然後clone in desktop,儲存到“諸神之爹”,哇!檔案已經在你電腦裡了,完全免費耶!+10086!
  4. 一個小時後,你對Fadeoc的渣程式碼頗有心得,決定幫他改良,不然他這專案就完了。你改好之後,Pull Request,這丫的竟然說你的程式碼太渣,不吸收。賤人!老子自己做,搶你市場份額!
  5. 你點了右上角自己頭像後面的+號,選擇了第一個New repository,即新建repository,並且起了個名字,叫做“完爆Fadeoc”,然後點選綠色按鈕set up in desktop,彈出儲存框,選擇“諸神之爹”。於是“諸神之爹”下出現了一個“完爆Fadeoc”的資料夾。
  6. 你自己寫了一份“神爹首頁.html”,把它放在了“完爆Fadeoc”資料夾下。
  7. 你打開了客戶端,看到客戶端介面中master Branch(主人分支,這名字太雲端了)出現了一個Uncommitted changes,即未提交的變動,也就是你剛寫的“神爹首頁.html”。你點開show按鈕,在summary(摘要)的部分添上“滾你丫的Fadeoc”,在Description(細節描述)的位置是沒必要寫的,但你還是決定添上“爆你菊花”四個大字。然後選擇“Commit to 你的使用者名稱”。
  8. 為了把這個提交上傳到Github上讓賤人Fadeoc看到,你點選了客戶端右上角的後面顯示了一個“+1”的Sync,即同步,過了幾秒,Sync前的兩個曲線箭頭停止了轉動,同步成功了,“+1”消失,表示一個檔案成功上傳。
  9. 你來到Github,重新整理自己的個人頁,“完爆Fadeoc”這個Repository出現在頁面上,點開它,在裡面你看到了”神爹首頁.html”。
  10. 為了讓這個專案的初始目的更加淺顯易懂,你決定新增一個Readme.txt,雖然從前下載的N多軟體的資料夾裡總是有一個Readme.txt,你一個都沒開啟過。但在圈裡混,就得混的人模狗樣的,於是你在“完爆Fadeoc”下新建了一個Readme.txt,裡面寫上,“Fadeoc,沒錯,說的就是你,看我口型,你個賤人!”
  11. 同樣使用客戶端commit,然後sync,過了幾秒,重新整理github,你看到又多出了一個readme.txt。而且在下面又多出一個文字顯示框,裡面顯示的就是readme.txt裡面的內容“Fadeoc,沒錯,說的就是你,看我口型,你個賤人!”,避免了Fadeoc這個賤人不想開啟readme.txt也就看不到你親切問候的尷尬局面。Github真是貼心吶。
  12. 你複製了這個Repository的地址,Email給了Fadeoc。
  13. Fadeoc不是那麼容易被打敗的,於是他Fork了你的Repository,修改了readme.txt,然後pull request,你看到fadeoc新生成的branch下的readme.txt被改成了“你才是賤人”。你拒絕了合併請求。
  14. Fadeoc再次pull request,readme.txt改成了“敢不做惡嗎?”
  15. 你有點煩了,這他媽的怎麼才能不讓他pull request,將來大專案N多陌生人菜鳥pull request煩不煩,就不能不開源,轉私有嗎?你終於找到了Github的升級服務,你笑了,將這個Repository從Public轉成了Private。Fadeoc肯定會繼續pull request,得不到你迴應的他只會漸漸被複仇的怒火燒盡理智,可是,誰在乎呢?
    Github還有更多細節功能,在使用過程中,你會慢慢發現,慢慢學會。但是不管如何,現在你會使用Github的基本功能了。

相關推薦

Github基本功能自知

Github的基本功能: ● Repository:你和我一起做“知乎首頁”,“知乎首頁”就是Repository,即專案或者”未來武器T2級425mm磁軌炮“之類,怎麼叫隨你,你只需知道Repository是個放專案的地方就行。有時候會出現Repos

北大數院學長對轉行機器學習/演算法同學的建議自知

作者:LionKing資料科學 連結:https://zhuanlan.zhihu.com/p/42157282 來源:知乎 著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。   北大數院統計專業畢業,之前在

把握問題的關鍵自知

三個步驟。 首先,你要尊重事實,不被自己的主觀意志扭曲和影響對事實真相的判斷。 然後,你要習慣於看待問題時從事物的“本質”出發。 最後,抓住“利益”這個關鍵點。誰獲利,誰受損,如何獲利,如何受損,搞清楚這四點你就能搞清楚大部分問題的關鍵所在。 “厚積薄發

各種機器學習演算法的優缺點

##各種演算法的優缺點 ###K近鄰:演算法採用測量不同特徵值之間的距離的方法進行分類。 優點: 1.簡單好用,容易理解,精度高,理論成熟,既可以用來做分類也可以用來做迴歸; 2.可用於數值型資料和離散型資料; 3.訓練時間複雜度為O(n);無資料輸入假定; 4

Mac常用基本功能不定期更新

推薦:CheatSheet —— 一款很好用的Mac快捷鍵軟體提示列表(不全,但基本夠用) 1. Mac截圖(預設儲存在桌面上,以時間命名) Command + Shift + 4:自選區域截圖 Command + Shift + 3:全屏截圖 注:如果在上述截圖動作中加入Con

面向介面程式設計 與 多型 通俗易懂的解釋轉載自知

說“空話”,做實事: 談談多型 原出處 劉欣公眾號 碼農翻身 最近有初學者問多型有什麼用, 思考了一下,就有了這篇文章。 1 什麼是多型? 多型是碼農們必須要理解理解的一個基本思想, 是面向物件的基石。 但是很多人(包括我)第一次接觸多型時都會困惑: 這

PyQt4 模擬記事本基本功能保存,打開文件

int .sh idt img 問題 top 我們 文件 pyqt 1. 默認【保存】按鈕enable 2. 修改文本的內容後,【enable】 3. 解決字符亂碼問題:utf-8 # -*- coding: utf-8 -*- import sys from PyQt

mysql基本命令

表達 local border base l數據庫 moni employee 哪些 roo 1、連接Mysql 格式: mysql -h主機地址 -u用戶名 -p用戶密碼1、連接到本機上的MYSQL。首先打開DOS窗口,然後進入目錄mysql\bin,再鍵入命令mysql

Linux 文件基本屬性

bsp 分享 cron exec 累加 保護 類型 用戶 cin Linux系統是一種典型的多用戶系統,不同的用戶處於不同的地位,擁有不同的權限。為了保護系統的安全性,Linux系統對不同的用戶訪問同一文件(包括目錄文件)的權限做了不同的規定。 在Linux中我們可以使用l

java中正則表達式基本用法

code ack acea print 表達式 劃線 跟著 以及 n) https://www.cnblogs.com/xhj123/p/6032683.html 正則表達式是一種可以用於模式匹配和替換的規範,一個正則表達式就是由普通的字符(例如字符a到z)以及特殊字符(元

ssm整合-圖片上傳功能

需要 PE 添加用戶 名稱 simple target url 完整 dsi 本文介紹 ssm (Spring+SpringMVC+Mybatis)實現上傳功能。 以一個添加用戶的案例介紹(主要是將上傳文件)。 一、需求介紹 我們要實現添加用戶的時候上傳圖片(其實任何文件都

Python黑帽子-實現netcat基本功能改進版

前言 一個好的滲透測試人員,應該擁有強大的程式設計能力,而python就是一個很好的工具,我最近也再研究如何用python開發屬於自己的小工具,《python黑帽子》是一本很不錯的書籍。本系列博文是我在學習過程中,做的一些總結與拓展。 前置知識 netcat我就不過多介紹了,

ShareSDK接入實現微信分享功能

ShareSDK接入實現微信分享功能 首先需要去Mob官網(http://www.mob.com/)下載shareSDK For Unity3d 下載完成,解壓,將以下plugins資料夾移入Unity專案的Assets資料夾裡,並將專案平臺轉換為安卓平臺 在場景裡建立幾個cube作為

Unity3D基於陀螺儀實現VR相機功能

轉至https://blog.csdn.net/m0_37998140/article/details/78255978?utm_source=blogxgwz7 Unity自帶陀螺儀功能,今天就利用陀螺儀實現一個VR相機功能。步驟如下:   開啟Unity,建立一個新的

五分鐘學會 GitHub 基本操作坐下坐下

今天看了一個博主的文章,突然感覺自己這畢業一年多來基本是廢了,技術沒有學到多少,妹子沒有找到,身體也沒有鍛鍊好,所以都在幹些什麼,工作效率低下,像是在養老一樣,是時候想想自己的退路了。 先把自己丟了一年多的GItHub用起來吧,已經不記得具體的命令了,只記得倉庫

pyqt5 -——基本功能HelloWorld

一. 簡單視窗 這個簡單的小例子展示的是一個小視窗。但是我們可以在這個小視窗上面做很多事情,改變大小,最大化,最小化等,這需要很多程式碼才能實現。這在很多應用中很常見,沒必要每次都要重寫這部分程式碼,Qt已經提供了這些功能。PyQt5是一個高階的工具集合,相比使用低階的工具,能省略上百行程式碼。 #!/u

Java產生隨機數用法及基本用法

1.隨機產生四位數[1000,9999] num=(int)(Math.random()*9000)+1000; Math.random()方法是產生double型[0,1)的資料,[0,1)*9000=[1,9001),用int型別強轉後便是[0,8999], 因而可以得到1000~9

NetworkX的基本用法

在PythonWin 的Shell裡輸入:import networkx as nx                            #匯入NetworkX包,為了少打幾個字母,將其重新命名為nxG = nx.Graph()                                       

微信開放實戰--掃一掃功能

大概流程: 1.根據appId和appSecret獲取access_token(使用憑證) public static JSONObject getTokenTool(String appId,String appSecret){ String url="htt

pandas基本功能續1

丟棄指定軸上的項丟棄某條軸上的一個或多個項很簡單,只要有一個索引陣列或列表即可。由於需要執行一些資料整理和集合邏輯,所以drop方法返回的是一個在指定軸上刪除了指定值的新物件: 對於DataFrame,可以刪除任意軸上的索引值: 索引、選取和過濾 Series索引(o