github是一個基於git的代碼託管平臺,付費用戶能夠建私人倉庫,咱們通常的免費用戶只能使用公共倉庫,也就是代碼要公開。對於通常人來講公共倉庫就已經足夠了,並且咱們也沒多少代碼來管理,O(∩_∩)O~。下面是我總結的一些簡單使用方法,供初學者參考。git
要想使用github第一步固然是註冊github帳號了。以後就能夠建立倉庫了(免費用戶只能建公共倉庫),Create a New Repository,填好名稱後Create,以後會出現一些倉庫的配置信息,這也是一個git的簡單教程。github
github是服務端,要想在本身電腦上使用git咱們還須要一個git客戶端,我這裏選用msysgit,這個只是提供了git的核心功能,並且是基於命令行的。若是想要圖形界面的話只要在msysgit的基礎上安裝TortoiseGit便可。shell
裝完msysgit後右鍵鼠標會多出一些選項來,在本地倉庫裏右鍵選擇Git Init Here,會多出來一個.git文件夾,這就表示本地git建立成功。右鍵Git Bash進入git命令行,爲了把本地的倉庫傳到github,還須要配置ssh key。c#
首先在本地建立ssh key;bash
1
|
$
ssh
-keygen -t rsa -C
"your_email@youremail.com"
|
後面的your_email@youremail.com改成你的郵箱,以後會要求確認路徑和輸入密碼,咱們這使用默認的一路回車就行。成功的話會在~/下生成.ssh文件夾,進去,打開id_rsa.pub,複製裏面的key。服務器
回到github,進入Account Settings,左邊選擇SSH Keys,Add SSH Key,title隨便填,粘貼key。爲了驗證是否成功,在git bash下輸入:ssh
1
|
$
ssh
-T git@github.com
|
若是是第一次的會提示是否continue,輸入yes就會看到:You’ve successfully authenticated, but GitHub does not provide shell access 。這就表示已成功連上github。ide
接下來咱們要作的就是把本地倉庫傳到github上去,在此以前還須要設置username和email,由於github每次commit都會記錄他們。spa
1
2
|
$ git config --global user.name
"your name"
$ git config --global user.email
"your_email@youremail.com"
|
進入要上傳的倉庫,右鍵git bash,添加遠程地址:命令行
1
|
$ git remote add origin git@github.com:yourName
/yourRepo
.git
|
後面的yourName和yourRepo表示你再github的用戶名和剛纔新建的倉庫,加完以後進入.git,打開config,這裏會多出一個remote 「origin」內容,這就是剛纔添加的遠程地址,也能夠直接修改config來配置遠程地址。
接下來在本地倉庫裏添加一些文件,好比README,
1
2
|
$ git add README
$ git commit -m
"first commit"
|
上傳到github:
1
|
$ git push origin master
|
git push命令會將本地倉庫推送到遠程服務器。
git pull命令則相反。
修改完代碼後,使用git status能夠查看文件的差異,使用git add 添加要commit的文件,也能夠用git add -i來智能添加文件。以後git commit提交本次修改,git push上傳到github。
.gitignore顧名思義就是告訴git須要忽略的文件,這是一個很重要而且很實用的文件。通常咱們寫完代碼後會執行編譯、調試等操做,這期間會產生不少中間文件和可執行文件,這些都不是代碼文件,是不須要git來管理的。咱們在git status的時候會看到不少這樣的文件,若是用git add -A來添加的話會把他們都加進去,而手動一個個添加的話也太麻煩了。這時咱們就須要.gitignore了。好比通常c#的項目個人.gitignore是這樣寫的:
1
2
3
|
bin
*.suo
obj
|
bin和obj是編譯目錄,裏面都不是源代碼,忽略;suo文件是vs2010的配置文件,不須要。這樣你在git status的時候就只會看到源代碼文件了,就能夠放心的git add -A了。
咱們能夠建立一個tag來指向軟件開發中的一個關鍵時期,好比版本號更新的時候能夠建一個「v2.0」、「v3.1」之類的標籤,這樣在之後回顧的時候會比較方便。tag的使用很簡單,主要操做有:查看tag、建立tag、驗證tag以及共享tag。
列出全部tag:
1
|
git tag
|
這樣列出的tag是按字母排序的,和建立時間不要緊。若是隻是想查看某些tag的話,能夠加限定:
1
|
git tag -l v1.*
|
這樣就只會列出1.幾的版本。
建立輕量級tag:
1
|
git tag v1.0
|
這樣建立的tag沒有附帶其餘信息,與之相應的是帶信息的tag:
1
|
git tag -a v1.0 -m
'first version'
|
-m後面帶的就是註釋信息,這樣在往後查看的時候會頗有用,這種是普通tag,還有一種有簽名的tag:
1
|
git tag -s v1.0 -m
'first version'
|
前提是你有GPG私鑰,把上面的a換成s就好了。除了能夠爲當前的進度添加tag,咱們還能夠爲之前的commit添加tag:
1
2
3
4
5
|
#首先查看之前的commit
git log --oneline
#假若有這樣一個commit:8a5cbc2 updated readme
#這樣爲他添加tag
git tag -a v1.1 8a5cbc2
|
很簡單,知道tag名稱後:
1
|
git tag -d v1.0
|
若是你有GPG私鑰的話就能夠驗證tag:
1
|
git tag -
v
v1.0
|
咱們在執行git push的時候,tag是不會上傳到服務器的,好比如今的github,建立tag後git push,在github網頁上是看不到tag的,爲了共享這些tag,你必須這樣:
1
|
git push origin --tags
|