小白參與github專案的步驟(詳細)
大致流程
一、首先需要在github上註冊賬號並登陸,這個不多說了
二、安裝git,到github官網下載安裝包。
在這裡我用的是github for windows。安裝好後會有一個圖形介面和一個Git Shell。圖形介面還用不了^_^,就以Git Shell介紹下邊的內容吧
三、為賬號新增新增ssh key
clone專案到本地不需要身份認證,但要push修改到github上需要身份驗證。push修改時走ssh協議,所以這裡需要將我們的公鑰新增到github賬號中。這裡就是ssh實現無密碼登陸,或者所謂的公鑰登陸,就是採用了私鑰確定唯一身份的原理。
1、生成金鑰對。執行Git Shell執行以下命令:
一直按 enter鍵生成金鑰對,最終顯示這個畫面:
這時在你的家目錄下的.ssh目錄下生成了id_rsa、id_rsa.pub兩個祕鑰檔案,我的是windows,所以在C:\Users\Administrator\.ssh目錄下。
2、新增公鑰到github上
點選github上的設定按鈕進入如下介面,然後點選SSH keys
點選 Ad SSH key 開啟新增公鑰頁面:
開啟生成的id_rsa.pub檔案,複製內容,注意不要變動其內容。然後貼上到上面的Key輸入框裡,Title輸入框可以隨便起個名字。然後點選 Add key即新增完成。
3、在本地使用剛剛生成的私鑰,執行如下命令:
四、fork你想參與的開源專案
瀏覽git上的開源專案,然後點選fork,
這時就跳轉到了你的賬號下,此專案就是你賬號下的一個專案了
fork就相當於把別人的專案克隆到自己的賬號下一份,以後你的修改都應是提交到你自己github賬號下的這個專案中,你是沒有許可權直接push到原作者賬號下的專案中的
五、clone專案到本地
1、複製專案clone地址
注意是clone自己賬號下的專案地址,不是原作者的,原作者的你雖然也可以clone到本地,但是你是沒push許可權的。還要注意這裡我們們使用ssh協議,所以要選擇ssh型別的地址,如圖:
2、clone 到本地,
在命令列下 輸入 git clone 並將複製的地址新增上,然後執行
然後就可以cd進專案目錄了
六、將專案原地址新增為遠端倉庫
複製原作者的專案地址,新增為自己的一個遠端倉庫,用來實時將原專案的修改更新到我們們本地併合並。注意也是複製ssh協議型別的地址哦
使用 git remote -v可以看到我們有兩個倉庫一個origin,我們們自己的github倉庫;一個upstream,原作者的遠端倉庫。當然也可以不用upstream這個名字。
七、建立branch,用於新增自己的修改
這只是一個約定成俗的方式,當然你也可以在master上新增修改,建立新的branch新增自己的修改的好處是,你可以同時新增多個修改,在一個修改還沒有被原作者merge時,你可以用master建立新的branch繼續你的其它修改。
在這裡我們在新新增的分支上修改:執行如下命令
git branch test //建立你test分支
git checkout test//切換到test分支
然後就可以新增我們的修改了
八、將修改push到我們的github上
由於我們的github上還沒有test分支,所以我們得把命令寫全了:git push origin test:test
九、pull request
你的修改已經push到了你的github下了,但是你要向原作者請求合併到原專案中,如果原作者合併了,也就意味著你是此專案的貢獻者了。
到你的github上點選如下按鈕
當然你也可以選擇test分支,,然後點選專案右邊的建立一個pull request。
提交完pull request,原作者就會看到你的合併請求,採不採納就是他的事了^_^。
注意事項
1、clone時一定要注意選擇ssh協議的連結。否則可能導致clone失敗,或者後續push失敗
2、將公鑰新增到github後,一定要更新自己當前的私鑰(命令:ssh-add ~/.ssh/id_rsa),否則會push失敗
相關文章
- Github配置ssh key詳細步驟Github
- 特別詳細的react專案搭建步驟React
- Scala的安裝以及建立Scala專案的詳細步驟
- nodejs專案部署到騰訊雲詳細步驟NodeJS
- scrapy 框架新建一個 爬蟲專案詳細步驟框架爬蟲
- LVM建立的詳細步驟LVM
- 如何參與開源專案 - 細說 GitHub 上的 PR 全過程Github
- MySQL的安裝步驟(詳細)MySql
- 專案步驟
- 配置PLSQL Developer詳細步驟SQLDeveloper
- Linux安裝jdk的詳細步驟LinuxJDK
- Linux安裝jdk的詳細步驟。LinuxJDK
- MyBatis的逆向工程詳細步驟操作MyBatis
- IDEA SpringBoot專案配置熱更新的步驟詳解IdeaSpring Boot
- 黑馬部落格——詳細步驟(二)專案功能的實現之登入功能
- OpenHarmony執行docker詳細步驟Docker
- docker安裝portainer詳細步驟DockerAI
- 利用專案管理工具實現專案日程安排:技巧與步驟詳解專案管理
- git 查詢大檔案、刪除大檔案詳細步驟Git
- 尋找在 GitHub 上參與開源專案的方法Github
- 黑馬部落格——詳細步驟(十)專案功能的實現之開發環境與生產環境開發環境
- 專案引入reactiveCoCoa步驟React
- CentOS 7 安裝MongoDB詳細步驟CentOSMongoDB
- ubuntu 18.04安裝kalibr(詳細步驟)Ubuntu
- 安裝fbprophet模組詳細步驟
- UBUNTU手動安裝JDK的詳細步驟UbuntuJDK
- CentOS 7.4下安裝nginx的詳細步驟CentOSNginx
- 如何配置web伺服器的詳細步驟Web伺服器
- Postman 安裝與漢化超詳細步驟全解析教程Postman
- 一個Tomcat 如何部署多個專案?附多種解決方案及詳細步驟!Tomcat
- CentOS 7.4安裝redis 4.0詳細步驟CentOSRedis
- .Net Core Web Api 框架搭建詳細步驟WebAPI框架
- CentOS 7上安裝WordPress詳細步驟CentOS
- IN2003下JDK的詳細安裝配置步驟JDK
- 如何實現DDD事件建模的詳細步驟 - goeleven事件Go
- php的網站怎麼修改,詳細步驟指南PHP網站
- Jenkins打包node專案步驟Jenkins
- Linux下最新版MySQL 8.0的下載與安裝(詳細步驟)LinuxMySql
- 前端專案自動化部署——超詳細教程(Jenkins、Github Actions)前端JenkinsGithub