Git是一個開源的分布式版本控制系統,用以有效、高速的處理從很小到非常大的項目版本管理。
安裝Git
1.方法一:
安裝homebrew,然后通過homebrew安裝Git。
第一步:在終端輸入如下命令安裝homebrew
1
ruby-e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
第二步:執行下面的命令,通過Homebrew安裝Git。
1
$ brewinstallgit
具體方法請參考homebrew的文檔:http://brew.sh/
Homebrew 用Ruby語言開發,支持千余種開源軟件在 Mac OS X 中的部署和管理。
2.方法二:
直接去git官網下載就好http://git-scm.com/downloads/
使用Git
通常使用git創建版本庫,又叫倉庫。
第一步:在合適的地方創建一個目錄。
1
2
3
$mkdirfirstgit
$cdfirstgit
第二步:用git init命令將這個目錄變成可以使用git管理的倉庫。
1
2
$ git init
Initialized empty Git repositoryin/Users/dahuan/Desktop/MultithreadingDemo/.git/
執行ls -a會發現目錄里多.git文件,這個就是git用來跟蹤管理的文件。
第三步:在這個目錄下創建個文件,并輸入一些內容。
1
$vi readme.txt
第四步:用命令git add告訴Git,把文件添加到倉庫
1
$ gitaddreadme.txt
如果要添加的文件太多可以這么寫 git add -a
第五步:用命令git commit把文件提交到倉庫
1
$git commit -m"wrote a readme file"
至此我們已經成功地添加并提交了一個readme.txt文件到本地倉庫。
將本地倉庫提交到遠程倉庫github
完全可以自己搭建一臺運行Git的服務器,不過現階段,為了學Git先搭個服務器絕對是小題大作。好在這個世界上有個叫GitHub的神奇的網站,從名字就可以看出,這個網站就是提供Git倉庫托管服務的,所以,只要注冊一個GitHub賬號,就可以免費獲得Git遠程倉庫。
在繼續閱讀后續內容前,請自行注冊GitHub賬號。由于你的本地Git倉庫和GitHub倉庫之間的傳輸是通過SSH加密的,所以,需要一點設置:
創建SSH Key。在用戶主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個文件,如果已經有了,可直接跳到下一步。如果沒有,打開Shell(Windows下打開Git Bash),創建SSH Key:
1
ssh-keygen -t rsa -C"xxxxx@xxxxx.com"
查看你的public key
1
cat ~/.ssh/id_rsa.pub
登陸GitHub,打開“Account settings”,然后,點“Add SSH Key”,填上任意Title,在Key文本框里粘貼id_rsa.pub文件的內容。點“Add Key”,你就應該看到已經添加的Key。為了驗證是否成功。
1
$ssh -Tgit@github.com
如果是第一次的會提示是否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"your_email@youremail.com"
為什么GitHub需要SSH Key呢?因為GitHub需要識別出你推送的提交確實是你推送的,而不是別人冒充的,而Git支持SSH協議,所以,GitHub只要知道了你的公鑰,就可以確認只有你自己才能推送。
登陸GitHub,然后,在右上角找到“Create a new repo”按鈕,創建一個新的倉庫。
在Repository name填入firstgit,其他保持默認設置,點擊“Create repository”按鈕,就成功地創建了一個新的Git倉庫。
現在,我們根據GitHub的提示,在本地的firstgit倉庫下運行命令:
1
$git remote add origin git@github.xxxx/xxxx.git
origin是默認的主機名
git@github.xxxx/xxxx.git是網址
這樣我們就在本地.git上設置了遠程主機。
我們使用下面的命令推送本地倉庫至遠程倉庫:
1
$ gitpush-u origin master
master 是本地主機的默認分支名。