轉(zhuǎn)載至-----AS中Git與GitHub的使用入門 - Ralap Zhong的專欄 - 博客頻道 - CSDN.NET
一直想把自己的寫的開源小項目放到github中,這兩天才花時間來學(xué)學(xué)Git。遇到些問題,百度了很多才解決。跟SVN一樣,值得寫一篇總結(jié)記錄下,雖然上資源很多,但作為入門,自己遇到的寫出來完全不一樣。
Git是一個開源的分布式版本控制工具。
GitHub是一個使用Git作為版本控制的項目托管平臺,它是一個網(wǎng)站。
詳細(xì)請參考:http://www.cnblogs.com/cocowool/archive/2012/02/17/2356125.html
下載地址:https://git-scm.com/download/win或https://git-for-windows.github.io/
安裝時,全部默認(rèn)選擇即可。
在Settings設(shè)置中。
Path to Git executable: 【Git安裝后的路徑】
然后“Test”測試一下,成功才可以。
Host: github.com
Login: 【你的github用戶名】
Password: 【github登錄密碼】
填好后,也進行“Test”測試一下,同樣成功才可以。
測試完后按確定,會提示你是否設(shè)置密碼,看個人需求。
在Github上創(chuàng)建一個倉庫:
創(chuàng)建好后,將是這個樣子,里面包括一個.gitignore忽略配置文件和一個README.md
git地址如下:
選擇工程 —— VCS —— ……
此時,VCS的5個圖標(biāo)顯示出來了,且要提交的文件名都是暗紅色
選擇工程 —— 右鍵 —— Git —— Add
Add后待提交的文件名是綠色
CommitMessage:填入提交說明信息。主要用于說明你做了哪些修改。
按Commit提交即可。
注:我每次都無法提交,commit后,進度對話框走到一半就立馬消失了。解決辦法見下面常見問題的“無法commit”。
提交后的文件顏色是灰白色。修改過的文件時淡藍色
Commit后會自動彈出Push推送窗口,點“Define remote”。
Name:默認(rèn)origin
URL:就是github的網(wǎng)頁地址,上面已提供獲取方法
上面的界面操作,等同于Git Bash中使用命令:
git remote add origin https://github.com/zjun615/GitHubTest.git
然后“OK”再“Push”
注:我這里的Push也會出問題,見下面的解決方法
刷新github后,就能看到上傳的工程文件:
因為會檢查代碼,就算沒有錯誤,只有警告它也會讓你無法提交。不會像單個文件的提交一樣,提示你選擇Review還是繼續(xù)commit。所以就取消提交頁面的“Perform code analysis”選項
現(xiàn)象:
Push的時候,彈出錯誤信息:Push rejected,Push to origin/master was rejected
控制臺輸出的詳細(xì)錯誤信息:
原因:
通過上述錯誤信息,告訴我們github中有我們本地沒有的文件,需要先pull。在VCS —— Git —— Pull
Pull也會報錯:Git Pull Failed,fatal: refusing to merge unrelated histories
也就是說直接pull也是不行的。并提示拒絕合并兩個不相關(guān)的倉庫
解決辦法:
打開Git Bush。本地資源管理器的工程目錄下,右鍵——Git Bush Here?;蛑苯哟蜷_Git Bash,然后用cd命令打開工程目錄。
輸入命令:git pull origin master –allow-unrelated-histories
表示允許不相關(guān)的倉庫合并。
此時,你可以看到工程中多了兩個github中的兩個文件
其中.gitignore文件是還沒有添加的,需要添加然后提交。
添加命令:git add .gitignore
提交命令:git commit
添加后提交,會彈出提交的提示信息:
這里是VIM文本編輯器讓你提交。操作命令:
進入到輸入狀態(tài):按i鍵
從輸入狀態(tài)退出:Esc鍵 —— Shift+;鍵 —— wq!(保存并退出)或q!(不保存退出) —— Enter
最后使用提交,命令:git push –u origin master
上面信息代表上傳成功,去github看看就知道了。
此問題困擾了我很久才解決,最主要的就是這條命令:
git pull origin master –allow-unrelated-histories
其他的命令都可以在界面上操作。
參考:http://stackoverflow.com/questions/37937984/git-refusing-to-merge-unrelated-histories
在本地項目工程下有一個.git文件夾,刪除即可。