GIT將本地項目上傳到Github(兩種簡單、方便的方法)

GIT將本地項目上傳到Github(兩種簡單、方便的方法)

1、第一種方法:javascript

 

首先你須要一個github帳號,全部尚未的話先去註冊吧!html

https://github.com/java

咱們使用git須要先安裝git工具,這裏給出下載地址,下載後一路直接安裝便可:git

https://git-for-windows.github.io/github

1.進入Github首頁,點擊New repository新建一個項目windows

 2.填寫相應信息後點擊create便可 ruby

Repository name: 倉庫名稱bash

Description(可選): 倉庫描述介紹服務器

Public, Private : 倉庫權限(公開共享,私有或指定合做者)app

Initialize this repository with a README: 添加一個README.md

gitignore: 不須要進行版本管理的倉庫類型,對應生成文件.gitignore

license: 證書類型,對應生成文件LICENSE

 

4.點擊Clone or dowload會出現一個地址,copy這個地址備用。

5.接下來就到本地操做了,首先右鍵你的項目,若是你以前安裝git成功的話,右鍵會出現兩個新選項,分別爲Git Gui Here,Git Bash Here,這裏咱們選擇Git Bash Here,進入以下界面,Test_Bluetooth即爲個人項目名。

6.接下來輸入以下代碼(關鍵步驟),把github上面的倉庫克隆到本地

git clone https://github.com/CKTim/BlueTooth.git(https://github.com/CKTim/BlueTooth.git替換成你以前複製的地址)

 7.這個步驟之後你的本地項目文件夾下面就會多出個文件夾,該文件夾名即爲你github上面的項目名,如圖我多出了個Test文件夾,咱們把本地項目文件夾下的全部文件(除了新多出的那個文件夾不用),其他都複製到那個新多出的文件夾下,

8.接着繼續輸入命令 cd Test,進入Test文件夾

9.接下來依次輸入如下代碼便可完成其餘剩餘操做:

git add .        (注:別忘記後面的.,此操做是把Test文件夾下面的文件都添加進來)

git commit  -m  "提交信息"  (注:「提交信息」裏面換成你須要,如「first commit」)

git push -u origin master   (注:此操做目的是把本地倉庫push到github上面,此步驟須要你輸入賬號和密碼)

 

 

2、第二種方法:

 

 

第一步:咱們須要先建立一個本地的版本庫(其實也就是一個文件夾)。

       你能夠直接右擊新建文件夾,也能夠右擊打開Git bash命令行窗口經過命令來建立。

       如今我經過命令行在桌面新建一個TEST文件夾(你也能夠在其餘任何地方建立這個文件夾),而且進入這個文件夾

                                          

        

       第二步:經過命令git init把這個文件夾變成Git可管理的倉庫

       

       這時你會發現TEST裏面多了個.git文件夾,它是Git用來跟蹤和管理版本庫的。若是你看不到,是由於它默認是隱藏文件,那你就須要設置一下讓隱藏文件可見。

       

       第三步:這時候你就能夠把你的項目粘貼到這個本地Git倉庫裏面(粘貼後你能夠經過git status來查看你當前的狀態),而後經過git add把項目添加到倉庫(或git add .把該目錄下的全部文件添加到倉庫,注意點是用空格隔開的)。在這個過程當中你其實能夠一直使用git status來查看你當前的狀態。

       

       

       這裏提示你雖然把項目粘貼過來了,但尚未add到Git倉庫上,而後咱們經過git add .把剛纔複製過來的項目所有添加到倉庫上。

       

       

        第四步:用git commit把項目提交到倉庫。

        

        -m後面引號裏面是本次提交的註釋內容,這個能夠不寫,但最好寫上,否則會報錯,詳情自行Google。 好了,咱們本地Git倉庫這邊的工做作完了,下面就到了鏈接遠程倉庫(也就是鏈接Github)

      因爲本地Git倉庫和Github倉庫之間的傳輸是經過SSH加密的,因此鏈接時須要設置一下:

      第五步:建立SSH KEY。先看一下你C盤用戶目錄下有沒有.ssh目錄,有的話看下里面有沒有id_rsa和id_rsa.pub這兩個文件,有就跳到下一步,沒有就經過下面命令建立

 $ ssh-keygen -t rsa -C "youremail@example.com"

       而後一路回車。這時你就會在用戶下的.ssh目錄裏找到id_rsa和id_rsa.pub這兩個文件   

       

      第六步:登陸Github,找到右上角的圖標,打開點進裏面的Settings,再選中裏面的SSH and GPG KEYS,點擊右上角的New SSH key,而後Title裏面隨便填,再把剛纔id_rsa.pub裏面的內容複製到Title下面的Key內容框裏面,最後點擊Add SSH key,這樣就完成了SSH Key的加密。具體步驟也可看下面:

       

       

    

        第七步:在Github上建立一個Git倉庫。

     你能夠直接點New repository來建立,好比我建立了一個TEST2的倉庫(由於我裏面已經有了一個test的倉庫,因此不能再建立TEST倉庫)。

   

        第八步:在Github上建立好Git倉庫以後咱們就能夠和本地倉庫進行關聯了,根據建立好的Git倉庫頁面的提示,能夠在本地TEST倉庫的命令行輸入:

$ git remote add origin https://github.com/guyibang/TEST2.git

        

        注意origin後面加的是你Github上建立好的倉庫的地址。

        

      第九步:關聯好以後咱們就能夠把本地庫的全部內容推送到遠程倉庫(也就是Github)上了,經過:

$ git push -u origin master

       因爲新建的遠程倉庫是空的,因此要加上-u這個參數,等遠程倉庫裏面有了內容以後,下次再從本地庫上傳內容的時候只需下面這樣就能夠了:

$ git push origin master

        上傳項目的過程可能須要等一段時間,完成以後是這樣的:

        

        這時候你再從新刷新你的Github頁面進入剛纔新建的那個倉庫裏面就會發現項目已經成功上傳了:

      

        至此就完成了將本地項目上傳到Github的整個過程。

      另外,這裏有個坑須要注意一下,就是在上面第七步建立遠程倉庫的時候,若是你勾選了Initialize this repository with a README(就是建立倉庫的時候自動給你建立一個README文件),那麼到了第九步你將本地倉庫內容推送到遠程倉庫的時候就會報一個failed to push some refs to https://github.com/guyibang/TEST2.git的錯。

      

      這是因爲你新建立的那個倉庫裏面的README文件不在本地倉庫目錄中,這時咱們能夠經過如下命令先將內容合併如下:

$ git pull --rebase origin master

       

       這時你再push就能成功了。

 

     總結:其實只須要進行下面幾步就能把本地項目上傳到Github

     一、在本地建立一個版本庫(即文件夾),經過git init把它變成Git倉庫;

     二、把項目複製到這個文件夾裏面,再經過git add .把項目添加到倉庫;

     三、再經過git commit -m "註釋內容"把項目提交到倉庫;

     四、在Github上設置好SSH密鑰後,新建一個遠程倉庫,經過git remote add origin https://github.com/guyibang/TEST2.git將本地倉庫和遠程倉庫進行關聯;

     五、最後經過git push -u origin master把本地倉庫的項目推送到遠程倉庫(也就是Github)上;(若新建遠程倉庫的時候自動建立了README文件會報錯,解決辦法看上面)。

 

 

3、Git命令

查看、添加、提交、刪除、找回,重置修改文件

 

[javascript]  view plain  copy
 
  1. git help <command> # 顯示command的help  
  2.   
  3. git show # 顯示某次提交的內容 git show $id  
  4.   
  5. git co -- <file> # 拋棄工做區修改  
  6.   
  7. git co . # 拋棄工做區修改  
  8.   
  9. git add <file> # 將工做文件修改提交到本地暫存區  
  10.   
  11. git add . # 將全部修改過的工做文件提交暫存區  
  12.   
  13. git rm <file> # 從版本庫中刪除文件  
  14.   
  15. git rm <file> --cached # 從版本庫中刪除文件,但不刪除文件  
  16.   
  17. git reset <file> # 從暫存區恢復到工做文件  
  18.   
  19. git reset -- . # 從暫存區恢復到工做文件  
  20.   
  21. git reset --hard # 恢復最近一次提交過的狀態,即放棄上次提交後的全部本次修改  
  22.   
  23. git ci <file> git ci . git ci -a # 將git add, git rm和git ci等操做都合併在一塊兒作                                    git ci -am "some comments"  
  24.   
  25. git ci --amend # 修改最後一次提交記錄  
  26.   
  27. git revert <$id> # 恢復某次提交的狀態,恢復動做自己也建立次提交對象  
  28.   
  29. git revert HEAD # 恢復最後一次提交的狀態  

 


查看文件diff

 

[javascript]  view plain  copy
 
  1. git help <command> # 顯示command的help  
  2.   
  3. git show # 顯示某次提交的內容 git show $id  
  4.   
  5. git co -- <file> # 拋棄工做區修改  
  6.   
  7. git co . # 拋棄工做區修改  
  8.   
  9. git add <file> # 將工做文件修改提交到本地暫存區  
  10.   
  11. git add . # 將全部修改過的工做文件提交暫存區  
  12.   
  13. git rm <file> # 從版本庫中刪除文件  
  14.   
  15. git rm <file> --cached # 從版本庫中刪除文件,但不刪除文件  
  16.   
  17. git reset <file> # 從暫存區恢復到工做文件  
  18.   
  19. git reset -- . # 從暫存區恢復到工做文件  
  20.   
  21. git reset --hard # 恢復最近一次提交過的狀態,即放棄上次提交後的全部本次修改  
  22.   
  23. git ci <file> git ci . git ci -a # 將git add, git rm和git ci等操做都合併在一塊兒作                                    git ci -am "some comments"  
  24.   
  25. git ci --amend # 修改最後一次提交記錄  
  26.   
  27. git revert <$id> # 恢復某次提交的狀態,恢復動做自己也建立次提交對象  
  28.   
  29. git revert HEAD # 恢復最後一次提交的狀態  



查看提交記錄

 

 

[javascript]  view plain  copy
 
  1. git log git log <file> # 查看該文件每次提交記錄  
  2.   
  3. git log -p <file> # 查看每次詳細修改內容的diff  
  4.   
  5. git log -p -2 # 查看最近兩次詳細修改內容的diff  
  6.   
  7. git log --stat #查看提交統計信息  

 

 

tig

Mac上可使用tig代替diff和log,brew install tig


Git 本地分支管理
查看、切換、建立和刪除分支

 

[javascript]  view plain  copy
 
  1. git br -r # 查看遠程分支  
  2.   
  3. git br <new_branch> # 建立新的分支  
  4.   
  5. git br -v # 查看各個分支最後提交信息  
  6.   
  7. git br --merged # 查看已經被合併到當前分支的分支  
  8.   
  9. git br --no-merged # 查看還沒有被合併到當前分支的分支  
  10.   
  11. git co <branch> # 切換到某個分支  
  12.   
  13. git co -b <new_branch> # 建立新的分支,而且切換過去  
  14.   
  15. git co -b <new_branch> <branch> # 基於branch建立新的new_branch  
  16.   
  17. git co $id # 把某次歷史提交記錄checkout出來,但無分支信息,切換到其餘分支會自動刪除  
  18.   
  19. git co $id -b <new_branch> # 把某次歷史提交記錄checkout出來,建立成一個分支  
  20.   
  21. git br -d <branch> # 刪除某個分支  
  22.   
  23. git br -D <branch> # 強制刪除某個分支 (未被合併的分支被刪除的時候須要強制)  


 分支合併和reba

 

 

[javascript]  view plain  copy
 
  1. git merge <branch> # 將branch分支合併到當前分支  
  2.   
  3. git merge origin/master --no-ff # 不要Fast-Foward合併,這樣能夠生成merge提交  
  4.   
  5. git rebase master <branch> # 將master rebase到branch,至關於: git co <branch> && git rebase master && git co master && git merge <branch>  

 


 Git補丁管理(方便在多臺機器上開發同步時用)

 

[javascript]  view plain  copy
 
  1. git merge <branch> # 將branch分支合併到當前分支  
  2.   
  3. git merge origin/master --no-ff # 不要Fast-Foward合併,這樣能夠生成merge提交  
  4.   
  5. git rebase master <branch> # 將master rebase到branch,至關於: git co <branch> && git rebase master && git co master && git merge <branch>  



 Git暫存管

 

 

[javascript]  view plain  copy
 
  1. git stash # 暫存  
  2.   
  3. git stash list # 列全部stash  
  4.   
  5. git stash apply # 恢復暫存的內容  
  6.   
  7. git stash drop # 刪除暫存區  
  8.   
  9. Git遠程分支管理  
  10.   
  11. git pull # 抓取遠程倉庫全部分支更新併合併到本地  
  12.   
  13. git pull --no-ff # 抓取遠程倉庫全部分支更新併合併到本地,不要快進合併  
  14.   
  15. git fetch origin # 抓取遠程倉庫更新  
  16.   
  17. git merge origin/master # 將遠程主分支合併到本地當前分支  
  18.   
  19. git co --track origin/branch # 跟蹤某個遠程分支建立相應的本地分支  
  20.   
  21. git co -b <local_branch> origin/<remote_branch> # 基於遠程分支建立本地分支,功能同上  



git push # push全部分支

 

 

[javascript]  view plain  copy
 
  1. git push origin master # 將本地主分支推到遠程主分支  
  2.   
  3. git push -u origin master # 將本地主分支推到遠程(如無遠程主分支則建立,用於初始化遠程倉庫)  
  4.   
  5. git push origin <local_branch> # 建立遠程分支, origin是遠程倉庫名  
  6.   
  7. git push origin <local_branch>:<remote_branch> # 建立遠程分支  
  8.   
  9. git push origin :<remote_branch> #先刪除本地分支(git br -d <branch>),而後再push刪除遠程分支  



Git遠程倉庫管

 

 

[javascript]  view plain  copy
 
  1. git remote -v # 查看遠程服務器地址和倉庫名稱  
  2.   
  3. git remote show origin # 查看遠程服務器倉庫狀態  
  4.   
  5. git remote add origin git@ github:robbin/robbin_site.git # 添加遠程倉庫地址  
  6.   
  7. git remote set-url origin git@ github.com:robbin/robbin_site.git # 設置遠程倉庫地址(用於修改遠程倉庫地址) git remote rm <repository> # 刪除遠程倉庫  



建立遠程倉庫

 

 

[javascript]  view plain  copy
 
  1. git clone --bare robbin_site robbin_site.git # 用帶版本的項目建立純版本倉庫  
  2.   
  3. scp -r my_project.git git@ git.csdn.net:~ # 將純倉庫上傳到服務器上  
  4.   
  5. mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在服務器建立純倉庫  
  6.   
  7. git remote add origin git@ github.com:robbin/robbin_site.git # 設置遠程倉庫地址  
  8.   
  9. git push -u origin master # 客戶端首次提交  
  10.   
  11. git push -u origin develop # 首次將本地develop分支提交到遠程develop分支,而且track  
  12.   
  13. git remote set-head origin master # 設置遠程倉庫的HEAD指向master分支  



也能夠命令設置跟蹤遠程庫和本地庫

 

 

[javascript]  view plain  copy
 
  1. git branch --set-upstream master origin/master  
  2.   
  3. git branch --set-upstream develop origin/develop  



 


方法一轉自:http://www.cnblogs.com/cxk1995/p/5800196.html

方法二轉自:http://blog.csdn.net/zamamiro/article/details/70172900

相關文章
相關標籤/搜索