1. 程式人生 > >【原創】30分鐘入門 github

【原創】30分鐘入門 github

很久沒更新了,這篇文章重點在github的入門使用,讀者可以下載github for windows shell,邊看邊操作,加深印象。

好了,30分鐘的愉快之旅開始吧:

一、github使用的注意事項:

1.對於某一次更新提交,必須要有這次操作的commit操作,git commit -m “評論內容”,這樣才能成功提交。

2.對github的使用是本地修改再提交的過程。本地操作的時候,資料夾名字和遠端resipository儘量一致。

3.使用別人的開源專案時,需要先把對方的專案fork到自己的github下,然後再clone下載到本地修改。

4.新建倉庫的時候,先從web登入自己的github,新建倉庫,之後本地操作就可以往倉庫裡提交內容了。

二、github基本使用:

1.下載專案 ,clone命令

例如,下載使用者名稱為xiaobocser下的hbase專案

clone操作不會輸入使用者名稱和密碼,下載到當前所在目錄下。

2.提交修改,add commit命令

例如,向hbae專案提交README.txt檔案的修改

2.1 git add README.TXT //此處可以有多個add,但是若想更新遠端倉庫,需要對這系列操作有一個commit說明

2.2 git commit -m “modify the way of wal” //雙引號裡面是對此次修改的說明

2.4 git push hbase master //提交修改到遠端倉庫。hbase是個剛剛設定的埠,master是版本名稱。

這一步會輸入使用者名稱和密碼,即例項中xiaobocser的使用者名稱和密碼。

                                          圖2.1 add和commit關係

3.版本維護 ,3個發展過程

 3.1本地維護。這種維護的缺點很明顯,一個是自己容易把版本之間搞混。二是不利於協同開發。

圖3.1 本地維護

3.2 集中維護。這種維護的缺點是一旦網路出問題,或者伺服器出問題,開發就會受到影響。SVN即這種方法。

圖3.2 遠端維護

3.3 分佈維護。這種維護比較好,本地操作不受其它因素限制,修改完後可以提交,分享。Github使用。

圖3.3 分佈維護

3.4 github的版本維護,分支。

圖3.4 github分支圖

3.4.1 git checkout -b feature_x_test //新建一個分支,feature_x_test是分支名稱

3.4.2 git push hbase feature_x_test //把修改更新到此分支

3.4.3 git merge master feature_x_test //master:源   feature_x_test:目的

//////以下操作可以不進行

3.4.3 git checkout master //切換分支

3.4.4 git checkout -d feature_x_test //刪除該分支

4. 檢視狀態及恢復

4.1 git status //檢視狀態

4.2 git reset --hard //恢復修改

4.3 git diff trunk xiaobocser //檢視trunk分支和xiaobocser分支有哪些檔案不同

5. 恢復之前設定的狀態

5.1 git init 可以恢復上面的誤操作,比如更改當前目錄等等

5.2 git rm  刪除檔案或目錄

三、github協同開發(如何給github上的專案貢獻程式碼)

二.1裡提了一下,可以clone別人的程式碼到本地,然後自己修改。但是這裡會有兩個問題:1.自己雖然改了,但是如何提交給該專案呢?或者說如何通知他呢?2.源專案的程式碼可能會更新,那麼我如何保持和它的同步呢?那麼按問題回答。

1.提交專案程式碼

因為專案是人家的,所以自己不可能想提交就提交。所以有個通知的機制。

1.1 fork該專案程式碼

1.2 自己的賬戶下會有該程式碼

1.3 clone程式碼到本地並修改

1.4 如果想提交給源專案,在自己帳號該專案處點選Pull Requests。

1.5 源專案會收到通知及郵件,以決定是否要把提交的修改加入。

2.保持同步

使用merge來保持同步

2.2 git fetch origin master //從源專案同步程式碼

2.3 git log -p master.. origin/master //比較本地倉庫和遠端倉庫的不同

2.3 git merge origin/master        //合併到本地

3.新增合作者(不同於1和2)

這個是對信任的開發者,或者說是“自己人”使用的一種方法。即合作者有權直接新增修改等等,進而省去了1和2這樣的麻煩。而1和2一般是針對未知開發者設定的。

對於1,這種模式下可以直接push修改。對於2,可以直接pull更新。

方法:在專案設定裡面新增合作者。 settings->Collaborators->add a friend。

30分鐘入門就此結束了,如果大家還有疑問可以留言或自行進入下面的傳送門!

祝好!

相關文件推薦

blog.csdn.net/hcbbt/article/details/11651229 // 重點在文章最下的推薦文件

轉載請註明出處~   http://www.cnblogs.com/xiaoboCSer/p/4378451.html

相關推薦

原創30分鐘入門 github

很久沒更新了,這篇文章重點在github的入門使用,讀者可以下載github for windows shell,邊看邊操作,加深印象。 好了,30分鐘的愉快之旅開始吧: 一、github使用的注意事項: 1.對於某一次更新提交,必須要有這次操作的commit操作,git commit -m

Python開發筆記:git&github 快速入門

精神 源代碼 公開 平臺 per 其中 http cvs tro github入門 簡介:   很多人都知道,Linus在1991年創建了開源的Linux,從此,Linux系統不斷發展,已經成為最大的服務器系統軟件了。   Linus雖然創建了Linux,但Linux的壯大

原創PHP擴展開發入門

-a 相關 make sof 其它 word red 喜歡 pro PHP擴展開發入門作者:wf (360電商技術組) 在我們編寫自己的第一個php擴展之前,先了解一下php的總體架構和執行機制。 php的架構如圖1所看到的。當中一個重要的就是SAPI(

網站搭建30分鐘輕鬆搭建網站應用

30分鐘輕鬆搭建網站應用 今天給大家分享如何30分鐘快速搭建網站。使用免費開源個人部落格建站工具WordPress部署部落格網站,最終實現:管理員-部署網站並進行日常運維、訪客-通過網際網路訪問部落格、瀏覽文章等。 先看看簡單的網站部署架構示意圖: 具體的應用部署分為以下幾個大的步驟。

原創Nginx入門

一、簡介 Nginx (engine x) 是一個高效能的HTTP和反向代理服務,也是一個IMAP/POP3/SMTP服務。Nginx是由伊戈爾•賽索耶夫為俄羅斯訪問量第二的Rambler.ru站點(俄文:Рамблер)開發的,第一個公開版本0.1.0釋出於2004年10月4日。2018年08月28日釋出

原創elasticsearch入門命令

安裝 命令 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.0.tar.gz tar -xvzf elasticsearch-6.4.0.tar.gz cd elasticsearch-6.4.0/

原創elasticsearch入門

示例 示例一: 示例二: 示例三: 示例四: ES介紹 ElasticSearch是一個基於Lucene的搜尋伺服器。它提供了一個分散式多使用者能力的全文搜尋引擎,基於RESTful web介面。Elasticsearch是用Java開發的,並作為Apache許可條款下的開放原始碼釋出,是

原創elasticsearch 入門--轉載請註明出處

一、下載與安裝 1.下載地址: https://download.csdn.net/download/qq_35427785/10800846 (需要csdn金幣) https://www.elastic.co/downloads/elasticsearch (官

原創Spring-Cloud快速入門(一)微服務入門--轉載請註明出處

一、什麼是微服務? 有時候,會有的人存在誤解,所謂微服務就是SpringCloud。這種思想本身是不正確的,微服務是一種系統架構上面的設計風格,而SpringCloud則是一種較為適用於微服務架構的框架。 在java體系中,我們通常需要將一個大的類,拆分成若干個的小的類,每個類都具有自己獨立

原創Spring-boot快速入門(二)JPA資料來源--轉載請註明出處

Spring-boot快速入門(二)JPA資料來源 宣告:本篇部落格一切程式碼基於 Spring-boot快速入門(一)進行。 一、JPA介紹 Spring Data JPA,是一款直接整合了hibernate的資料庫資源訪問的Spring Data下的子專案,通過JPA對資料庫進

原創Spring-boot快速入門(一)HelloWord!--轉載請註明出處

Spring-boot快速入門(一)HelloWord! 一、Spring-boot簡介 1. Spring-boot介紹 Spring-boot是一款將Spring4.X版本Spring族群進行整合的一款框架,繼承了來自於Spring族群的絕大部分功能,在Spring4.

原創經驗分享(20)spark job之間會停頓幾分鐘

今天遇到一個問題,spark應用中在一個迴圈裡執行sql,每個sql都會向一張表寫入資料,比如 insert overwrite table test_table partition(dt) select * from test_table_another; 除了執行sql沒有其他邏輯,每個sq

原創.NET讀寫Excel工具Spire.Xls使用(1)入門介紹

  在.NET平臺,操作Excel檔案是一個非常常用的需求,目前比較常規的方法有以下幾種: 1.Office Com元件的方式:這個方式非常累人,微軟的東西總是這麼的複雜,使用起來可能非常不便,需要安裝Excel,對於伺服器,有時候還需要為配置IIS許可權。折騰人,看到很多人在群裡面使用這個東西,出現各種抓

grunt第一彈30分鐘學會使用grunt打包前端程式碼

前言 以現在前端js激增的態勢,一個專案下來幾十個js檔案輕輕鬆鬆對於複雜一點的單頁應用來說,檔案上百簡直是家常便飯,那麼這個時候我們的js檔案應該怎麼處理呢?另外,對於css檔案,又該如何處理呢??這些都是我們實際工作中要遇到的問題,比如我們現在框架使用zepto、backbone、underscore我

grunt整合版30分鐘學會使用grunt打包前端程式碼

grunt 是一套前端自動化工具,一個基於nodeJs的命令列工具,一般用於:① 壓縮檔案② 合併檔案③ 簡單語法檢查 對於其他用法,我還不太清楚,我們這裡簡單介紹下grunt的壓縮、合併檔案,初學,有誤請包涵 準備階段 1、nodeJs環境 因為grunt是基於nodeJs的,所以首先各位需要安裝

C++1130分鐘瞭解C++11新特性

什麼是C++11 C++11是曾經被叫做C++0x,是對目前C++語言的擴充套件和修正,C++11不僅包含核心語言的新機能,而且擴充套件了C++的標準程式庫(STL),併入了大部分的C++ Technical Report 1(TR1)程式庫(數學的特殊函式除外)。 C++11包括大量的新特性

原創Spring-Cloud快速入門(一)微服務入門

一、什麼是微服務? 有時候,會有的人存在誤解,所謂微服務就是SpringCloud。這種思想本身是不正確的,微服務是一種系統架構上面的設計風格,而SpringCloud則是一種較為適用於微服務架構的框

redisredis的入門與應用原創

1-1 課程內容概要 1. 課程概要 Redis是php專案中使用到的主要快取服務,主要是參考慕課網的《redis的入門與應用_筆記》,這裡主要介紹: * redis的安裝使用 * PHP如何使用redis * redis最常也是必知必會的五大

原創大叔問題定位分享(30)mesos agent啟動失敗:Failed to perform recovery: Incompatible agent info detected

cpp 方法 fail mesos perf mes inf for cut mesos agent啟動失敗,報錯如下: Feb 15 22:03:18 server1.bj mesos-slave[1190]: E0215 22:03:18.622994 1192 sl

原創大叔經驗分享(30)CM開啟kerberos

conf ref 密碼 bsp 配置過程 local mage https 原創 kerberos安裝詳見:https://www.cnblogs.com/barneywill/p/10394164.html 一 為CM創建用戶 # kadmin.local -q