標籤:bash git branch github
一、Git簡介
Git是目前世界上最先進的分布式版本控制系統,其特點簡單來說就是:高端大氣上檔次!
二、Windows上Git安裝
最早Git是在Linux上開發的,很長一段時間內,Git也只能在Linux和Unix系統上跑。不過,慢慢地有人把它移植到了Windows上。現在,Git可以在Linux、Unix、Mac和Windows這幾大平台上正常運行了。
msysgit是Windows版的Git,從http://msysgit.github.io/下載,然後按預設選項安裝即可。安裝完成後,在開始菜單裡找到“Git”->“Git Bash”,蹦出一個類似命令列視窗的東西,就說明Git安裝成功!安裝完成後,還需要最後一步設定,在命令列輸入:
$ git config --global user.name "Your Name"$ git config --global user.email "[email protected]"
因為Git是分布式版本控制系統,所以,每個機器都必須自報家門:你的名字和Email地址。
三、建立版本庫
什麼是版本庫呢?版本庫又名倉庫,英文名repository,你可以簡單理解成一個目錄,這個目錄裡面的所有檔案都可以被Git管理起來,每個檔案的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤曆史,或者在將來某個時刻可以“還原”。
所以,建立一個版本庫非常簡單,首先,選擇一個合適的地方,建立一個空目錄:
$ mkdir learngit$ cd learngit$ pwd/Users/michael/learngit
pwd命令用於顯示目前的目錄。如果你使用Windows系統,為了避免遇到各種莫名其妙的問題,請確保目錄名(包括父目錄)不包含中文。
第二步,通過git init命令把這個目錄變成Git可以管理的倉庫:
$ git initInitialized empty Git repository in /Users/michael/learngit/.git/
這樣版本庫就建立好了。自動建立的.git的目錄,這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄裡面的檔案,不然改亂了,就把Git倉庫給破壞了。
第三步,往版本庫添加檔案:所有的版本控制系統,其實只能跟蹤文字檔的改動,比如TXT檔案,網頁,所有的程式碼等等,Git也不例外。事實上使用windows的童鞋千萬不要使用Windows內建的記事本編輯任何文字檔。建議你下載Notepad++代替記事本。
<span style="color:#000000;">//假如在目前的目錄建立了一個read.txt檔案$git add read.txt; //把檔案添加到倉庫$git commit -m "wrote a readme file" //把檔案提交到倉庫,-m後面輸入的是本次提交的說明,可以輸入任意內容</span>
四、常用命令:
除了git add 和 git commit,其他常用命令如下:
1、git status:查看倉庫當前的狀態
2、git diff file:查看檔案具體修改的內容,file是檔案名稱
3、git log:顯示從最近到最遠的提交日誌
4、cat read.txt:查看檔案內容
5、git reflog:查看你使用的命令曆史
6、git checkout -- read.txt:撤銷對read.txt的所有修改,不要丟掉了--
7、git reset --hard id/^HEAD:回退版本,id是版本號碼,^HEAD是指向最新版本的指標
8、git rm read.txt:刪除read.txt檔案,記住要用commit提交才能真正從倉庫刪除,如果誤刪,可以用git checkout命令撤銷
9、git remote add origin [email protected]:dwqs/csdn.git:將本地倉庫和Github上的遠程倉庫關聯,記得將dwqs換成你自己的賬戶名,csdn.git是你在GitHub上建立的倉庫
10、git push -u origin master:把本地庫的所有內容推送到遠程庫上,第一次提交加上-u,第二次提交可以不用了:git push origin master
11、git clone [email protected]:dwqs/csdn.git:把遠程倉庫csdn.git複製到本地
12、git checkout -b name:建立name分支,該命令等價於:git branch name;git checkout name
13、git branch:查看當前分支
14、git checkout name:切換到name分支
15、git merge name:合并某分支到當前分支
16、git branch -d name:刪除name分支
17、git branch -D name:強行刪除name分支
18、git push origin name:將name分支推送到遠程倉庫
19、git remote -v:查看遠程倉庫資訊
20、git tag:查看標籤名
21、git tag tagname:建立標籤
22、git show tagname:查看標籤資訊。注意:標籤不是按時間順序列出,而是按字母排序的。
23、git tag -a tagname -m tagdesc:建立帶說明的標籤
24、git tag -d tagname:刪除指定標籤
25、git push origin tagname:推送某個標籤到遠程倉庫
26、git push origin --tags:一次性推送全部尚未推送到遠端本地標籤
27、git push origin :refs/tags/tagname:可以刪除一個遠程標籤。
28、git config --global alias.ps push:將ps作為push的別名,此時,git ps 等價於git push