場景:我自己寫了一塊代碼,想提交到github上保存起來。
我們寫了一個很滿意的功能,總會想著分享出去,讓更多的人知道。github就是一個很不錯的平臺,我們可以把自己的代碼上傳到github上,讓全球的碼農都能看到^__^
在github上新建一個倉庫。命名起個有意義的名字呀。
.gitignore:可以定義一些忽略文件。里面有幾個默認的配置,可以根據實際情況來定
license:是開源協議,引用百度百科
自由軟件/開源軟件是自由的,免費的,源代碼開放的,我們可自由下載安裝和使用。同時,為了維護作者和貢獻者的合法權利,保證這些軟件不被一些商業機構或個人竊取,影響軟件的發展,開源社區開發出了各種的開源許可協議。
這些都不要選擇了,如果你選擇了,后面會讓你先pull,才能把本地代碼上傳成功。其實這個是創建一個遠程倉庫,你要在你本機上先clone,然后把本地代碼放在這個clone項目中再上傳的。github上也有解釋(圖中1)
點擊create repository后
好吧。你創建完,人家會跟你說怎么操作的。這里他分了三種情況。
如果你是本地是一個無遠程倉庫的代碼。那你就按照第一種情況操作,進入你的代碼文件,執行.
git init git add . // 把當前目錄里的所有文件都添加進來,你也可以一個一個文件添加 git commit -m "first commit" git remote add origin git@github.com:xxx/test.git git push -u origin master // -u 參數,這里加上是最好的,不加會有什么影響,我們后面也說一下
這里我的git地址變更了一下。因為我本地有兩個github賬號。這個我在最開始的分享中有說明(git學習(1)----多git賬號配置)
搞定!,這樣你就可以在你github上看到你新上傳的項目了
這個我感覺是,你本地已經把倉庫建好了,但是沒有跟遠程倉庫建立連接。我們可以用第二種方法(應該不會出現這種情況吧,有知道的大佬可以說一下)
如果你本地的代碼已經有一個遠程的倉庫了,那我們按照第三種情況操作,(我就新建一個test2倉庫,然后把本地的test1上傳到test2中),直接在import里面輸入url,就完成導入了。
我們可以看到,他其實把test中的,上傳記錄也同步過來了。很適合代碼倉庫遷移。
這樣我們就實現了本地代碼,上傳到github上了。
哎呦~~,說到代碼倉庫遷移,我又想多說兩句。前不久我們公司自己搭建的git倉庫,由于環境不穩定,剛把倉庫遷移到云服務器上,那我們本地也要切換一下遠程倉庫地址
git remote set-url origin 新的git地址
一句話搞定!
關于git push -u origin master 我們等下次再分享一哈,如果你不加-u,你在master分支是使用不了 git push命令的,但你用了,你就可以用git push ,他會把本地的分支跟遠程的對應分支做一個映射。可以少寫幾個字符的哦。。雖然能節省幾個字符,但是還是建議加上 origin master。因為git2.0之前,git push 會把本地所有的分支推送到遠程對應的分支上。當然,你要是還在用git2.0,那就應該升級一下了呀。
本期分享也比較基礎。主要是為了幫助大家梳理一下上傳git倉庫的流程,有什么不對的地方,可以留言指出,謝謝^__^
要想使用github第一步當然是注冊github賬號了。之后就可以創建倉庫了(免費用戶只能建公共倉庫),Create a New Repository,填好名稱后Create,之后會出現一些倉庫的配置信息,這也是一個git的簡單教程。步驟如下:
打開https://github.com 直接在首頁上注冊
點按鈕注冊成功之后,在頁面上方用戶菜單上選擇 “+”->New repository 創建一個新的倉庫
為倉庫取一個名字,點擊創建倉庫按鈕 你將成功創建一個倉庫
安裝git客戶端:
github是服務端,要想在自己電腦上使用git我們還需要一個git客戶端,
windows用戶請下載 http://msysgit.github.com/
mac用戶請下載 http://code.google.com/p/tortoisegit/
一路next,安裝成功后, 回到C盤,或任何文件夾下,點鼠標右鍵會多出一些菜單
如 Git Init Hear、Git Bash、Git Gui , 說明安裝成功。
配置Git:
我們先在電腦硬盤里找一塊地方存放本地倉庫,比如我們把本地倉庫建立在C:\MyRepositoryke_test文件夾下
進入1ke_test文件夾 鼠標右鍵操作如下步驟:
1)在本地倉庫里右鍵選擇Git Init Here,會多出來一個.git文件夾,這就表示本地git創建成功。右鍵Git Bash進入git命令行,截圖效果如下:
為了保險起見,我們先執行git init命令
$ git init
為了把本地的倉庫傳到github,還需要配置ssh key。
2) 在本地創建ssh key
$ ssh-keygen -t rsa -C "your_email@youremail.com"
后面的your_email@youremail.com改為你的郵箱。我的郵箱是lilu@1ke.co,也是在github上注冊的那個郵箱:
直接點回車,說明會在默認文件id_rsa上生成ssh key。
然后系統要求輸入密碼,直接按回車表示不設密碼
重復密碼時也是直接回車,之后提示你shh key已經生成成功。
然后我們進入提示的地址下查看ssh key文件。 我的電腦的地址是C:\Users\lilu\.ssh ,其中lilu是我的電腦的名稱
打開id_rsa.pub,復制里面的key。里面的key是一對看不懂的字符數字組合,不用管它,直接復制。
回到github網站,進入Account Settings,左邊選擇SSH Keys,Add SSH Key,
title隨便填,粘貼key。
3)驗證是否成功,在git bash下輸入
$ ssh -T git@github.com
回車就會看到:You’ve successfully authenticated, but GitHub does not provide shell access 。這就表示已成功連上github。
4)接下來我們要做的就是把本地倉庫傳到github上去,在此之前還需要設置username和email,因為github每次commit都會記錄他們
$ git config --global user.name "your name"
$ git config --global user.email "your_email@youremail.com"
分別輸入上述命令行 回車, 我的界面顯示如下
2.添加項目到本地倉庫
1)在Git Bash Here 以下命令執行指令進行初始化,會在原始文件夾中生成一個隱藏的文件夾.git:
2).執行指令將文件添加到本地倉庫
$ git add . //添加當前文件夾下的所有文件
3).輸入本次的提交說明,準備提交暫存區中的更改的已跟蹤文件,單引號內為說明內容
$ git commit -m "BaiduOCR" //引號中的內容為對該文件的描述
3.關聯Github倉庫
然后在之前Git Bash Here 的窗口,輸入命令:
$ git remote add origin https://github.com/YangSlim/dytt.git
注意!:
如果出現錯誤:fatal: remote origin already exists,則執行以下語句:
$ git remote rm origin
再重新執行:
$ git remote add origin https://github.com/YangSlim/dytt.git
就可以了。
$ git push origin master
如果出現錯誤failed to push som refs to…….,則執行以下語句,先把遠程服務器github上面的文件拉先來,再push 上去。:
$ git pull origin master
4.持續添加文件
1).接下來在本地倉庫里添加一些文件,比如README
在本地新建一個README文件
然后在命令行輸入一下命令
$ git add README
$ git commit -m "first commit"
我的執行界面如下
2).上傳到github
$ git push origin master
git push命令會將本地倉庫推送到遠程服務器。
git pull命令則相反。
注:首次提交,先git pull下,修改完代碼后,使用git status可以查看文件的差別,使用git add 添加要commit的文件。
gitignore文件
.gitignore顧名思義就是告訴git需要忽略的文件,這是一個很重要并且很實用的文件。一般我們寫完代碼后會執行編譯、調試等操作,這期間會產生很多中間文件和可執行文件,這些都不是代碼文件,是不需要git來管理的。我們在git status的時候會看到很多這樣的文件,如果用git add -A來添加的話會把他們都加進去,而手動一個個添加的話也太麻煩了。這時我們就需要.gitignore了。
3).另,上傳github 成功后,可以使用sourcetree工具操作,代替命令: