【不遮遮掩掩】Github上傳本地代碼以及常見問題解決方案


2019.20.18更新:

把完整命令打一遍吧,不然看完太累了不是

//初始化文件夾
git init
//初始化目錄,把基本文件下載下來,如ignore文件
git pull --rebase origin master
//把當前目錄下所有文件上傳
git add .
//添加注釋
git commit -m "test"
//添加遠程庫
git remote add origin https://github.com/misland/Fuji.git
//拉取最新文件
git pull origin master
//向git推送文件
git push -u origin master

 

2018.9.30更新

一直以來有個問題沒有解決,那就是首次上傳時總是出問題,提示版本不對,剛開始都是用笨方法強制提交,現在用的比較多了感覺不是那么回事,於是今天就以搜了一下,還真找到了解決辦法,這個大神寫的,其實想想也是,在git上建好倉庫后有ignore和read.md文件,但是在本地init后並沒有這兩個文件,首次上傳時還不知道要忽略哪些文件呢,也就會報版本不對的問題,解決辦法就是大神說的,執行以下命令即可:

git pull --rebase origin master

執行完后本地就有ignore文件和license文件了,再次執行提交命令就不會再報錯了,感謝這些無私分享的大神~

先絮叨幾句,本來沒打算寫這篇文章的,最近想把自己學習安卓時寫的代碼上傳到github,以備后面忘記時再回來復習,所以找github相關的文章想學下如何玩這東西,正好前天看到一個哥們新發了一篇文章講如何上傳代碼的,就想認真對照着的他寫的自己也實踐一下,結果文章里面關鍵部分的截圖各種塗抹,含糊其辭,根本沒法學習。又去網上搜了其它幾篇相關文章,最后成功了,但是在過程中也是幾經波折,遇到了兩個問題費了好久才解決,並且還是在不同文章里面找到的,所以想匯總起來方便想學習的同學學習。

 

  ok,言歸正傳,要想將代碼上傳到github首先得在git上建個自己的庫吧,不然你上傳到哪里?建庫什么難的,只有一個問題,license請設置成公開的,如下圖

至於為什么,后面的問題里面會有解釋,先不要急。另外就是請把你的庫的地址記下來,進入你建好的庫,右上角會有按鈕Clone or download的,點它!然后在出來的框里點擊復制按鈕復制地址,如下圖

 

 

  接下來下載github客戶端(地址),安裝~

安裝完畢后關閉,然后進入你的代碼所在的文件夾,右鍵,選擇Git Bash Here后彈出git命令行對話框,如下圖

被塗抹掉的部分是我的電腦名,不用在意。

  到這里你有沒有一個問題?我要往github上傳東西,現在github連我是誰都不知道,它怎么知道我要往哪上傳呢?你說的很對,它要是知道就見鬼了。所以咱們要告訴github咱們的用戶名和郵箱,在命令行里分別輸入以下命令並回車,分別輸入並回車,分別輸入並回車,重要的事情說三遍。

git config --global user.name "wtf"
git config --global user.email "wtf@wtf.com"

以上兩行一看應該就明白了,全局設置用戶名和郵箱的,因為可能並不是僅僅在這一個文件夾里上傳代碼,以后或許還會上傳其它代碼呢。一般注冊github應該都是用郵箱注冊的吧,user.name就是你在github的昵稱了,注冊時都會填的,千萬別告訴我你沒有哦。這樣設置完github才知道你是哪位大神。

  好了,准備工作做好了,弄好正式上傳代碼吧,依然是命令行對話框內,依次輸入以下命令並回車

第一步:git init

這句話是初始化,相當於通知git我要在這里做代碼處理工作啦,你做好准備吧。

第二步:git add .

注意后面有個點呀,這句話就是把當前文件夾下的所有文件都上傳到github,當然你也可以只上傳一個文件,在后面繼續輸入要上傳的文件的名稱就行了。比如:git add "wtf.txt"

第三步:git commit -m "test"

將添加的文件提交到庫,這里並不是真的要提交,而是類似於數據庫里面的事務一樣,先存着,最后一次性執行,因為這時github知道你要上傳到哪個庫嗎?后面引號里面的是注釋,不用多說了吧。

第四步:git remote add origin https://github.com/misland/Fuji.git

 到這里知道為什么建好庫后要把地址保存下來了吧,這句話的作用是將本地代碼與咱們前面建的庫聯系起來,到這里github才知道你是誰,要往哪上傳代碼。

 第五步:git pull origin master

對不起,這句話什么意思我也不知道- -

第六步:git push -u origin master

這句話相當於數據庫里面事務的提交方法,將所有的更改上傳到服務器,這里是把所有的文件上傳到github上。如果是第一次上傳代碼會彈出一個框讓你輸入github的用戶名和密碼驗證身份,想想也是,要是誰都能往你的庫里上傳代碼不是全亂套了?不得不吐槽下看着真的好像是讓輸windows的用戶名和密碼啊(誰讓你的英語那么菜的?)。如果成功執行,你再進去github網站,打開你剛才建的庫,就會發現里面已經有文件了,到這里就算大功告成了!

 

  當然,你或許會遇到問題,先別急,看看下面的問題是否包含了你遇到的問題。

問題和解決方案

問題一:Couldn't find remote ref master

如果前面四步都沒什么問題,到了第五步遇到這個問題了,那么還記得建庫時讓你設置成公開的嗎,如果不是公開的就會提示這個問題了,顯然你是無法繼續執行下面的步驟的。改成公開的就可以了。

問題二:Please enter a commit message to explain why this merge is necessary.

 

我第一次遇到這個東西時是懵逼了,不知道如何操作,雖然我能看懂下面的話的意思,是讓輸入提交代碼的注釋。

按鍵盤上的i鍵,進入輸入模式,第一行的文本就是提交代碼的注釋,改成你想加的注釋,當然也可以不改。改完后按鍵盤上的esc鍵,退出輸入模式,輸入":wq"回車,搞定!這個東西困了我好久有木有!!!

 

如何提交修改的代碼

依然是進入到代碼所在文件夾,依然是右鍵選擇Git Bash Here,若你不想麻煩一個個的上傳文件,從上面第二步開始執行就好了,如果只想提交一個文件,那就從第三步開始,只需在這一步標注標明文件名就可。

如:git commit -m "新加一個文件" "bobo.txt"

好了,到這里本篇就結束了,目前只是學會了上傳代碼和修改代碼,分支合並這些功能還沒用到,所以目前還沒學,如果到時遇到問題就再來探討。如果在實踐的過程中遇到問題也可在評論里說下一起來解決。最后祝每位愛學習的同學都能順利學到想要的東西,出任CTO,迎娶白富美,走向人生巔峰~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM