1、下載Git並安裝 Git for Windows
Git-1.8.4-preview20130916.exe 按照默認步驟完成安裝
2、設置SSH建立計算機與Github的鏈接
2.1 點擊 開始菜單找到Git Bash
2.2 在git bash上運行命令 $ cd ~/.ssh 檢查自己電腦上是否存在ssh keys
如果顯示No such file or directory 則需要去創建一個新的ssh keys
2.3 創建新的ssh keys
運行命令:
$ ssh-keygen -t rsa -C "youemail@youemail.com" 點擊回車
輸入兩次密碼
注:在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,回車,顯示如下即成功(忽略警告)
3、在本地設置Git信息,設置用戶名和郵箱
$ git config --global user.name "Firstname Lastname"
$ git config --global user.email "your_email@youremail.com"
此處用戶名為自己的實際姓名(自定義的),而非登錄用戶名
4、Git創建一個庫
點擊new repository,輸入repository名稱,勾選“Initialize this repository with a README”復選框
5、上傳項目代碼
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
常見錯誤:
1、執行命令4時,出現錯誤:
fatal: remote origin already exists
則執行語句:$ git remote rm origin //執行后,再重新執行命令4,就不會報錯
2、執行命令5時,出現錯誤:
error:failed to push som refs to.......
則執行語句:$ git pull origin master //先把遠程服務器github上面的文件拉下來,再輸入$ git push origin master
3、將命令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
這樣做的好處是,遠程主干上的歷史永遠是線性的。每個人在本地分支解決沖突,不會在主干上產生沖突。