一、下載Git並安裝 Git for Windowsgit
Git-1.8.4-preview20130916.exe 按照默認步驟完成安裝github
二、設置SSH創建計算機與Github的連接bash
2.1 點擊 開始菜單找到Git Bash服務器
2.2 在git bash上運行命令 $ cd ~/.ssh 檢查本身電腦上是否存在ssh keysssh
若是顯示No such file or directory 則須要去建立一個新的ssh keyspost
2.3 建立新的ssh keys測試
運行命令:網站
$ ssh-keygen -t rsa -C "youemail@youemail.com" 點擊回車this
輸入兩次密碼google
注:在Enter passphrase 的時候,輸入的密碼是看不到的,其實已經輸入了,輸完後點擊回車就能夠了
這樣一個新的keys就建立完成了,上面代碼顯示,密匙位置放在了C:/Users/用戶名/.ssh/文件夾中。(.ssh文件夾多是隱藏的,須要查看隱藏文件)
2.4 將生成的ssh keys 添加到github中
2.4.1 訪問https://github.com/plans 先註冊一個帳號後, 點擊「Account Settings」 > 點擊 「SSH Public Keys」 > 點擊 「Add SSH key」
在本機找到你建立的密匙文件id_rsa.pub ,使用記事本打開,複製裏面全部的內容,粘貼到網站key的文本框中,點擊Add Key 保存
2.4.2 測試設置是否正確
輸入命令:$ ssh -T git@github.com
輸入$ yes
輸入前面本身設置的passphrase,回車,顯示以下即成功(忽略警告)
三、在本地設置Git信息,設置用戶名和郵箱
$ git config --global user.name "Firstname Lastname"
$ git config --global user.email "your_email@youremail.com"
此處用戶名爲本身的實際姓名(自定義的),而非登陸用戶名
四、Git建立一個庫
點擊new repository,輸入repository名稱,勾選「Initialize this repository with a README」複選框
五、上傳項目代碼
5.1 先clone剛纔新建的repository 到本地
在要放置的硬盤文件夾位置, 右擊鼠標,點擊Git Bash
輸入命令: $ git clone https://github.com/jenniferhuang/myssh.git ,在本地生成了myssh文件夾
5.2 切換到這個myssh目錄下(能夠看到該文件夾下有README.md),並將要上傳的項目拷貝到該文件夾下面
5.3 執行如下5個命令
$ git init //命令1,初始化
$ git add . //命令2
$ git commit -m '提交說明' //命令3
$ git remote add origin git@github.com:github用戶名/myssh.git //命令4,爲倉庫添加源地址
$ git push origin master //命令5
常見錯誤:
一、執行命令4時,出現錯誤:
fatal: remote origin already exists
則執行語句:$ git remote rm origin //執行後,再從新執行命令4,就不會報錯
二、執行命令5時,出現錯誤:
error:failed to push som refs to.......
則執行語句:$ git pull origin master //先把遠程服務器github上面的文件拉下來,再輸入$ git push origin master
三、將命令4寫成
$ git remote add origin https://github.com/jenniferhuang/myssh.git 可能會出現錯誤:
unable to find remote helper for 'htts'
解決方法,改爲$ git remote add origin git@github.com:jenniferhuang/myssh.git
PS: git多分支工做
git支持不少種工做流程,咱們採用的通常是這樣,遠程建立一個主分支,本地每人建立功能分支,平常工做流程以下:
去本身的工做分支 $ git checkout work
工做 ....
提交工做分支的修改 $ git commit -a
回到主分支 $ git checkout master
獲取遠程最新的修改,此時不會產生衝突 $ git pull
回到工做分支 $ git checkout work
用rebase合併主幹的修改,若是有衝突在此時解決 $ git rebase master
回到主分支 $ git checkout master
合併工做分支的修改,此時不會產生衝突。 $ git merge work
提交到遠程主幹 $ git push
這樣作的好處是,遠程主幹上的歷史永遠是線性的。每一個人在本地分支解決衝突,不會在主幹上產生衝突。