這篇文章寫得是windows下的使用方法。
第一步:創建Github新賬戶
第二步:新建倉庫
第三部:填寫名稱,簡介(可選),勾選Initialize this repository with a README選項,這是自動創建REAMDE.md文件,省的你再創建。
第四步:安裝Github shell程序,地址:http://windows.github.com/
第五步:打開Git Shell,輸入以下命令生成密鑰來驗證身份
ssh-keygen -C '[email protected]' -t rsa
連續三個回車之後會在windows當前用戶目錄下生成.ssh文件夾,和linux一樣。
把文件夾下的id_rsa.pub文件內容全部複製。
然後打開github賬戶設置,如圖
打開ssh keys
然後在title隨便輸入,key欄粘貼剛纔的密鑰。
第六步:在Git Shell下輸入命令測試剛纔的公鑰是否認證正確。
ssh -T [email protected]
正確結果會顯示:
Warning:Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts. Hi Flowerowl! You've successfully authenticated, but GitHub does not provide shell access.
warning 不用理會。
第七步:clone剛纔新建的repository 到本地,輸入命令:
git clone https://github.com/Flowerowl/stumansys.git
這時會在目錄下生成:
第八步:將想上傳的代碼目錄拷貝到此文件夾下:
第九步:切換到Git shell 命令行下,輸入命令:
git init git commit -m 'stumansys' git remote add origin https://github.com/Flowerowl/stumansys.git git push origin master
如果執行git remote add origin
https://github.com/Flowerowl/stumansys.git
,出現錯誤:
fatal: remote origin already exists
則執行以下語句:
git remote rm origin
再往後執行git remote add origin https://github.com/Flowerowl/stumansys.git 即可。
在執行git push origin master時,報錯:
error:failed to push som refs to.......
則執行以下語句:
git pull origin master
先把遠程服務器github上面的文件拉先來,再push 上去。
報錯"Everything up-to-date"解決方法:
在github上git clone一個項目,在裏面創建一個目錄,然後git push的時候,出現報錯"Everything up-to-date"
原因:
1)沒有git add .
2)沒有git commit -m "提交信息"
這裏有種特殊的情況是如果你是fork別人的倉庫再clone到本地的話,即使Git上只有一個主分支,他還是可能出現這個錯誤。那麼我們就需要新建分支提交改動然後合併分支。
接下來先創建一個新分支提交改動
然後輸入這條命令檢查是否創建成功 這時輸出 這樣就創建成功了,前面的*代表的是當前你所在的工作分支。我們接下來就要切換工作分支。 這樣就切換完了,可以$ git branch
確認下。然後你要將你的改動提交到新的分支上。
此時可以 $ git status
檢查下提交情況。如果提交成功,我們接下來就要回主分支了,代碼和之前一樣。
然後我們要將新分支提交的改動合併到主分支上
合併分支可能產生衝突這是正常的,雖然我們這是新建的分支不會產生衝突,但還是在這裏記錄下。下面的代碼可以查看產生衝突的文件,然後做對應的修改再提交一次就可以了。
我們的問題就解決了,接下來就可以push代碼了。
新建分支的朋友別忘了刪除這個分支
如果想保留分支只是想刪除已經合併的部分只要把大寫的D改成小寫的d就行了。
更新倉庫代碼
輸入命令 cd Test,進入Test文件夾
接下來依次輸入以下代碼即可完成其他剩餘操作:
git add . (注:別忘記後面的.,此操作是把Test文件夾下面的文件都添加進來)
git commit -m "提交信息" (注:“提交信息”裏面換成你需要,如“first commit”)
git push -u origin master (注:此操作目的是把本地倉庫push到github上面,此步驟需要你輸入帳號和密碼)