以前經常在同學大神那聽說過Github這神器,雖敬佩久已,奈何卻無緣使用。好吧,我承認,主要還是不會用,一看網站全是英文的,想想還是不要為難自己了。然而現在還是要為難自己了,趁着早上剛學完,對Github有了初步的了解和上手,那就寫篇随筆記錄下。
1.Gitbub官網
- 首先先新增賬號密碼,注冊需要提供郵箱認證。這很簡單,就不截圖說明了。注冊完登陸後找到右上角如圖的符号,點選new organization。接下去按着提示說明來做接可以了。
【實踐練習一】Git以及Github的使用1.Gitbub官網2.Git for windows3.HelloWorld托管到Github4.Git小結 - 建立完後,會顯示如圖。找到圖檔上的invite someone,或者people,進行邀請組員。這邊邀請根據使用者名,郵箱都可以。邀請完等待對方同意就可以了。不過受邀請的一方需要在郵箱确定受邀。至于在網站有沒有哪可以直接确認受邀的就不知道了,反正我英語不好,早上愣是找了半天沒找到。
【實踐練習一】Git以及Github的使用1.Gitbub官網2.Git for windows3.HelloWorld托管到Github4.Git小結 - 接下去要将别人的代碼庫fork到自己小組的organization底下,這裡就把https://github.com/sefzu2015/AutoCS fork到organization底下。
- 首先先點選上面連結,到要fork的代碼庫的頁面,找到如圖按鈕,點選,選擇要fork到自己賬戶下的哪個organization下面就可以了。
【實踐練習一】Git以及Github的使用1.Gitbub官網2.Git for windows3.HelloWorld托管到Github4.Git小結
- 首先先點選上面連結,到要fork的代碼庫的頁面,找到如圖按鈕,點選,選擇要fork到自己賬戶下的哪個organization下面就可以了。
好了,上面都是一些基本的操作。接下去試試看如何将自己本地的代碼托管到Github上。
2.Git for windows
- 首先,我們需要一個用戶端Git工具,我用的是windows系統,是以這裡就選擇Git for windows。(這裡不得不吐槽幾句,我感覺自己隻認官網下載下傳這個是病,得治。沒錯,到官網下載下傳是個好習慣,不過在官網無法下載下傳的時候就不要死腦筋了。這軟體在官網下需要FQ,╮(╯▽╰)╭我居然傻乎乎的搞了幾個小時,查什麼如何FQ啊,如何在官網下Git啊。我真服了自己了,最後居然還沒搞定。終于受不了,找同學拷貝了一份。)
- 下載下傳的步驟就不說了,說多了都是淚。直接看看如何使用這個工具吧,用之前先看看一些基本的指令:
- git init ------------在本地建立代碼倉庫。
- git add -----------添加想要送出的代碼,使用commit指令前的操作。
- git commit -m "message" ----------真正去執行送出的操作。
- git push "url" -----------将送出的代碼同步到Github上。
- git clone url -------------将遠端版本庫克隆島本地。
- 這幾個指令在今天的實踐中用到的最多的,當然還有很多指令。那些指令就在後面慢慢的熟悉提高吧。
3.HelloWorld托管到Github
- 首先,登陸自己的Github賬号,建立一個倉庫,如圖。
【實踐練習一】Git以及Github的使用1.Gitbub官網2.Git for windows3.HelloWorld托管到Github4.Git小結 - 建立好後顯示的頁面如圖,找到右下角的Https clone url,點選複制。
【實踐練習一】Git以及Github的使用1.Gitbub官網2.Git for windows3.HelloWorld托管到Github4.Git小結 - 然後找到電腦HelloWorld項目的目錄,打開Git bash,
- 輸入指令:git clone https://github.com/sefzu2015Gsetup/HelloWorld.git來把遠端代碼庫克隆到本地。
【實踐練習一】Git以及Github的使用1.Gitbub官網2.Git for windows3.HelloWorld托管到Github4.Git小結 - 然後輸入ls,即可看到HelloWorld已經克隆下來了,進入該檔案夾再ls -al,可以看到
【實踐練習一】Git以及Github的使用1.Gitbub官網2.Git for windows3.HelloWorld托管到Github4.Git小結 - 然後把該檔案夾裡的檔案都複制到上一層目錄去,再把該檔案夾删掉即可。這裡要注意,隐藏檔案不要忘了,不然會死很慘的╮(╯▽╰)╭。
- 接下去就是送出跟同步了,先輸入“git add .” 把HelloWorld中所有的檔案添加到送出中去,當然之前在Github建立倉庫時選擇了.gitignore為Android,是以Android項目中不需要托管管理就會被自動忽略掉。
【實踐練習一】Git以及Github的使用1.Gitbub官網2.Git for windows3.HelloWorld托管到Github4.Git小結 這裡提示warning,大概的意思是LF将被替換成CRLF,這應該是因為開發所選的作業系統不一樣造成的原因。
- 然後輸入:git commit -m "this is the first helloworld version",将所有檔案送出到本地倉庫中。 這裡可以發現,它提示我們要輸入郵箱,跟名字。因為它需要知道是誰完成了這次的更新,跟着提示的指令輸入就行了,然後再重新輸入送出的指令。
【實踐練習一】Git以及Github的使用1.Gitbub官網2.Git for windows3.HelloWorld托管到Github4.Git小結 【實踐練習一】Git以及Github的使用1.Gitbub官網2.Git for windows3.HelloWorld托管到Github4.Git小結 - 接下去就是最後一步了,輸入"git push origin master"就可以将送出的内容都同步到Github上去了。
【實踐練習一】Git以及Github的使用1.Gitbub官網2.Git for windows3.HelloWorld托管到Github4.Git小結 可以看到,提示我們輸入Github的賬号跟密碼,輸入完後到Github上HelloWorld的倉庫,
https://github.com/sefzu2015Gsetup/HelloWorld.git,重新整理可以發現,已經把在本地建立的HelloWorld項目托管到Github上面去了。
【實踐練習一】Git以及Github的使用1.Gitbub官網2.Git for windows3.HelloWorld托管到Github4.Git小結
- 輸入指令:git clone https://github.com/sefzu2015Gsetup/HelloWorld.git來把遠端代碼庫克隆到本地。
到此,就算完成了。上面的步驟看着雖然很少,貌似也很簡單,但隻有自己動手的才知道過程有多麼不容易。這麼說吧,原本以為看完Git基本教程,再自己動手試試老師布置的任務,最後寫這篇部落格,大概半天就能完成吧。結果呢,呵呵,我隻想說,還是太年輕了。╮(╯▽╰)╭居然花了我一個早上,加下午,加小半個晚上。好吧,我承認,有大半時間是浪費在了從官網下載下傳Git。(聽說,Google過幾年會回歸大陸了,不知道真的假的,真的就好了╮(╯▽╰)╭,省得找國外官方資源這麼麻煩)
最後,推薦一個Git教程,感謝@schaepher 推薦。通俗,易懂,這教程真的非常棒。
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
4.Git小結
- 這些内容是第二天來補上的,寫完部落格後,在逛同學的部落格以及跟同學的交流時發現,好多他們操作過程中碰到的問題,以及一些步驟我都沒碰到。而且,他們的操作步驟多了很多我沒有做過的,難不成把本地倉庫托管到Github上還有很多種方法不成?帶着些疑問,以及同學碰到的問題,我做了一些測試。
① 首先第一個疑問是:ssh
- 好多同學都有一個步驟是:ssh-keygen -t rsa -C "mail",然後還到Github做了一堆操作的。我沒有這個步驟,感覺很奇怪,問了他們為什麼要做那步,他們也很奇怪,為什麼我沒有做那步反而也能送出成功?于是,我到網上查了些資料:
為什麼GitHub需要SSH Key呢?因為GitHub需要識别出你推送的送出确實是你推送的,而不是别人冒充的,而Git支援SSH協定,是以,GitHub隻要知道了你的公鑰,就可以确認隻有你自己才能推送。
- 可是我并沒有設定啊,最後也成功把本地倉庫托管到Github了啊,那設定跟沒設定有什麼差別嗎?我有個猜想,會不會是沒設定的話公開的代碼庫就會被熊孩子給亂改一通了啊。恩,應該是這樣,我居然還越想越覺得自己很有道理,還迫不及待的要了兩個同學(一個有做SSH步驟,一個沒有)的遠端倉庫URL來做實驗。結果呢,報錯提示兩邊都沒有權限修改。╮(╯▽╰)╭
- 後來上網百度了些資料才發現,自己确實是想多了,人家Github那麼火,這種問題怎麼可能沒想到。虧自己昨天還按着作業做了一步添加隊員到自己的organziation裡的,當時有想過這個步驟就是為了團隊合作開發的,怎麼今天就沒想起來呢。可是,如果不是隊員的身份就不能修改遠端倉庫裡的代碼了?當然不是,Github還提供了一個fork功能。也多虧了今天的犯糊塗,不然都還不知道昨天照做的fork步驟的意義在哪。可是,SSH的問題還是沒有得到解決啊,上文引用的解釋裡說了是防止被别人冒用,那應該就是防止賬号密碼被盜的情況下遠端倉庫被亂改的吧。畢竟不好意思找同學要賬号密碼。至于到底是不是這樣,還是說我在多次實踐的過程中,哪個步驟已經悄悄的把ssh配置好了,而我卻沒有注意到。具體如何,慢慢的在以後的使用學習中去探索吧。
② 第二個疑問是:git clone
- 有的同學第一步并不是把遠端倉庫clone到本地來的,而是直接在本地的項目檔案夾下建立倉庫的,最後再來送出。我嘗試着他們的做法,後來發現,如果自己第一步把
換成git clone
,接下去修改,add,commit,以及push的話,會報錯。大概的意思是說,本地倉庫跟遠端倉庫并沒有關聯在一起,是以需要多一句:git init
,之後再Push就可以了。對比兩種方式,我到.git檔案下的config檔案裡檢視了下,發現,如果一開始用的指令是git remote add origin ***
的話,config檔案裡文自動生成git clone
的相應配置。而如果用的是remote origin
的話,config檔案裡則沒有該項配置,是以需要手動配置。git init
- 好了,就這些吧,有點亂,都是想到什麼寫什麼,慢慢學習怎麼寫得有條理點吧。最後就是說個小小的注意事項:在Github上建立倉庫時,記得要勾選自動建立README.md檔案,或者在推送本地倉庫前要手動建立,否則push時會報錯。
PS:第一次使用Markdown,趕快看看效果怎麼樣O(∩_∩)O。
轉載于:https://www.cnblogs.com/dasusu/p/4822093.html