注冊和環(huán)境搭建
先注冊github.com的賬號,官方網站: https://github.com/
需要一個郵箱,同時也要一個昵稱,我的是flyloong,之后會用到。
下載git,地址:https://git-scm.com/downloads
安裝時直接next到最后。
配置git
任意目錄下右擊,選擇“Git Bash Here”,會彈出窗口,
1) 先輸入如下,,注意ssh-keygen之間是沒有空格的,其他的之間是有空格的
ssh-keygen –t rsa –C “郵箱地址”
復制代碼
2) 回車之后,會出現一行,讓你輸入一個保存密鑰的地方,括號里面是它默認的位置,這里會讓你輸入幾次內容,都不用輸入,直接回車就可以了,可以看到如圖的效果:
3) 回車之后,這樣密鑰就生成了,可以用記事本打開id_rsa.pub,然后全部復制,網站上去配置一下ssh key,點擊箭頭指示的三角圖標,選擇Settings,然后點擊左側的SSH Keys,之后點擊右側的Add SSH Key,這樣就會出現添加SSH Key的界面,在Title這一欄填一個名字,名字隨意起,之后打開剛才生成的那個文件id_rsa.pub,全選復制里面的內容到Key這一欄中,點擊Add Key按鈕完成操作,這時你填的郵箱會收到一封確認的郵件,不用管它。
4) 驗證一下是否設置成功,在git bash下輸入如下命令:
ssh –T git@github.com
復制代碼
如果你是第一次,會讓你輸入yes或no,這時輸入yes就可以了,其它顯示就和我這個是一樣的。如果你的是出現不是這些內容,有可能是顯示權限問題什么的,就應該是我上面提到的那種情況,你看一下你生成密鑰時是否操作正確,目錄下是否有那個known_hosts這個文件。
5) 現在配置一下用戶名和郵箱:
git config –global user.name “用戶名”
git config –global user.email “郵箱”
復制代碼
到現在為止,我們就算把Git和github配置完了,現在就來托管我們的項目吧。
項目托管
回到github網頁,點擊New repository按鈕,彈出如下界面,第一行填倉庫名,就叫個text,第二行是對這個倉庫的描述,之后那個Public就是公共倉庫的意思,接下來的README就是在倉庫里創(chuàng)建一個README文件,可以往里寫一些介紹你這個項目的功能之類的東西,再下面那個Add gitignore按鈕,可以選擇你這個項目是用什么語言之類的,后面那個License是用來說明該項目遵從什么開源協(xié)議,例如我們的EEDrone遵從BSD3,選擇后會在更目錄下生成一個LICENSE文件,最后點擊“Create repository”
然后到需要托管的項目中去,例如項目文件如下:
這里最重要的一件事就是添加”.gitignore”文件,整個有幾百兆,其中大部分是IDE生成的編譯中間文件,這些并沒有用,每次編譯都會重新生成,可以在IDE里面清除,或者寫一個批處理文件清除,都沒有添加忽略文件來的方便,直接用文本文件新建一個就好,內容如下:
EWARM/**
!*.icf
!*.eww
!*.ewp
!*.ewd
!*.s
MDK-ARM/**
!*.uvoptx
!*.uvprojx
!*.s
SW4STM32/EEDrone/**
!*.cproject
!*.project
!*.xml
!*.ld
SI/
復制代碼
相關的語法可以參考:https://www.kernel.org/pub/software/scm/git/docs/gitignore.html
舉例說明如下:
“EWARM/**”這句話的意思是將EWARM文件夾下的內容除需要保留的全部刪掉,但是保留該文件夾
“!*.icf“這是EWARM文件夾下將后綴為icf的全部保留
“SI/”是將整個SI文件夾全部刪掉
如果大家是使用IAR工程就使用上面的幾句代碼就好,Keil就選用中間的
寫好保存后右擊選擇“Git Bash Here”
1) 輸入 git init,來完成初始化工作。這時候會自動生產一個隱藏文件夾”.git”
git init
復制代碼
2) 增加對我們github上創(chuàng)建的test倉庫的管理。其中origin是一個名字相當于一個宏定義,可以任意取, flyloong是我在網站上注冊時使用的用戶名,test.git是我為這個項目建立的倉庫名。
git remote add origin git@github.com: flyloong/test.git
復制代碼
3) 由于我建立倉庫的時候創(chuàng)建README.md之時,已經算一次提交了,我需要先在本地同步一下倉庫的內容。本地就會多一個README.md文件。
git pull origin master
復制代碼
或者git pull git@github.com: flyloong/test.git
效果如下:
此時可以修改代碼或者直接上傳代碼。
4) 下面就要把我剛創(chuàng)建的文件上傳到到倉庫上去了,首先執(zhí)行增加命令,如下:
git add . (這后面是一個英文的句號)
復制代碼
add后面加了一個點,是想要提交所有文件,如果想提交指定的文件,可以寫文件名。
5)執(zhí)行完增加命令后,要執(zhí)行提交命令,如下:
git commit –m “這里寫下你自己的記錄本次提交內容的信息”
復制代碼
-m后面跟提示信息,這個提示信息是一定要寫的,不僅是規(guī)則,同時也方便我們記錄我們提交的過程,寫清晰為什么提交或修改了什么是非常有用的。
6)提交完成后,我們就要把它推送到遠程倉庫上去了,命令如下:
git push origin master
復制代碼
這樣就完成了我們要做的所有任務
之后可以繼續(xù)修改代碼,那么只需要執(zhí)行最后面三步就可以了:
git add .
git commit –m “這里寫下你自己的記錄本次提交內容的信息”
git push origin master
復制代碼
如果有新的版本發(fā)布,又想要留著之前的版本,那么就可以添加tag標簽了,如下:
git tag V0.01
復制代碼
其中V0.01是標簽名
上傳到網上倉庫
git push origin –tags
復制代碼
在github網站上就有了標簽了如下:
協(xié)同工作
如果想要多人同時開發(fā),例如有賬號”lb8820265”想來共同開發(fā),步驟如下:
1) Fork,
2) Clone
在需要下載的地方如下輸入如下指令:
git clone https://github.com/flyloong/test.git
復制代碼
3) 修改上傳
參考上面,這里就將readme.md里面的test改成test2。
4) 在”lb8820265”用戶中點擊”Pull requests”:
5) 在下方可以查看本次的修改,點擊”Greate pull request”
6) 添加說明:
也可以不寫,點擊”Greate pullrequest”
7) 同意合并
flyloong會有提醒如下:
點擊彈出如下:
點擊”Merge pull request”就可以合并修改了,點擊Fileschanged可以查看修改的內容:
這樣就完成了協(xié)調開發(fā)了。這是從個人的倉庫中fork,通常開源項目是放在github組織上的,例如我們的EEDrone項目,地址是:https://github.com/eedrone,這樣就可以有多個管理員,都可以允許合并操作,其他的操作類似。
其他常用指令
列出remote: git remote (在后面添加-v顯示顯示地址)
刪除remote: git remote rm 取的名字
在本地新建一個分支: git branch Branch1
切換到你的:新分支: git,checkout ,Branch1
將新分支發(fā)布在github上: git pushorigin Branch1
在本地刪除一個分支: git branch -d Branch1
在github遠程端刪除一個分支:git push origin :Branch1 (分支名前的冒號代表刪除)
刪除錯誤提交的commit:
gitreset --hard <commit_id>
git push<origin> HEAD --force
其中commit_id是ID號,可以通過git log看到只要輸入前面6個就可以,origin是名字
獲取commit列表: git log
git的官方文檔:https://git-scm.com/doc
聯(lián)系客服