git是乙個分布式的版本控制系統,最初由linus torvalds編寫,用作linux核心**的管理。在推出後,git在其它專案中也取得了很大成功,尤其是在ruby社群中。目前,包括rubinius和merb在內的很多知名專案都使用了git。git同樣可以被諸如capistrano和vlad the deployer這樣的部署工具所使用。
github是乙個基於git的**託管平台,付費使用者可以建私人倉庫,我們一般的免費使用者只能使用公共倉庫,也就是**要公開。對於一般人來說公共倉庫就已經足夠了,而且我們也沒多少**來管理,o(∩_∩)o~。下面是我總結的一些簡單使用方法,供初學者參考。
要想使用github第一步當然是註冊github賬號了。之後就可以建立倉庫了(免費使用者只能建公共倉庫),create a new repository,填好名稱後create,之後會出現一些倉庫的配置資訊,這也是乙個git的簡單教程。
github是服務端,要想在自己電腦上使用git我們還需要乙個git客戶端,我這裡選用msysgit,這個只是提供了git的核心功能,而且是基於命令列的。如果想要圖形介面的話只要在msysgit的基礎上安裝tortoisegit即可。
裝完msysgit後右鍵滑鼠會多出一些選項來,在本地倉庫裡右鍵選擇git init here,會多出來乙個.git資料夾,這就表示本地git建立成功。右鍵git bash進入git命令列,為了把本地的倉庫傳到github,還需要配置ssh key。
首先在本地建立ssh key;
1
$
ssh
-keygen -t rsa -c
"[email protected]"
後面的[email protected]改為你的郵箱,之後會要求確認路徑和輸入密碼,我們這使用預設的一路回車就行。成功的話會在~/下生成.ssh資料夾,進去,開啟id_rsa.pub,複製裡面的key。
回到github,進入account settings,左邊選擇ssh keys,add ssh key,title隨便填,貼上key。為了驗證是否成功,在git bash下輸入:
1
$
ssh
-t [email protected]
如果是第一次的會提示是否continue,輸入yes就會看到:you』ve successfully authenticated, but github does not provide shell access 。這就表示已成功連上github。
接下來我們要做的就是把本地倉庫傳到github上去,在此之前還需要設定username和email,因為github每次commit都會記錄他們。
1
2
$ git config --global user.name
"your name"
$ git config --global user.email
"[email protected]"
1
$ git remote add origin [email protected]: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
1
git tag -
v
v1.0
我們在執行git push的時候,tag是不會上傳到伺服器的,比如現在的github,建立tag後git push,在github網頁上是看不到tag的,為了共享這些tag,你必須這樣:
1
git push origin --tags
Github及git常用命令
使用github時,需要經常使用許多git命令來對 來進行操作。這些命令都是比較好記的,多用就沒問題了。good luck!git配置 git config l 檢視git配置資訊 git config global user.name your name 配置使用者名稱 git config gl...
John介紹及常用命令使用說明
john 是一款大受歡迎的 免費的開源軟體 基於字典的密碼破解工具。用於在已知密文的情況下嘗試破解出明文的破解密碼軟體,支援目前大多數的加密演算法,如 des md4 md5等。john 支援字典破解方式和暴力破解方式。它支援多種不同型別的系統架構,包括 unix linux windows dos...
GitHub常用命令
1 git簡介 git是用c語言開發的分布版本控制系統。版本控制系統可以保留乙個檔案集合的歷史記錄,並能回滾到另外乙個狀態 歷史記錄狀態 對於任何乙個檔案,在 git 內都只有三種狀態 已提交 committed 已修改 modified 和已暫存 staged 已提交表示該檔案已經被安全地儲存在本...