git於github那些不得不說的祕密

問題源自於....閒時無聊在公司寫啦個項目,想經過git上傳到github上,而後回家直接從github上拉下來接着寫,經過不一樣電腦關聯同一個github倉庫,同一臺電腦多個本地項目關聯到github上。css

step:nginx

若是你已經在本地建立了一個Git倉庫,又想在GitHub建立一個Git倉庫,而且讓這兩個倉庫進行遠程同步,那就須要用到SSH Key,github拿到了你的公鑰就會知道內容是你推送的。git

 

SSH Key的配置:github

1.Windows下打開Git Bash,建立SSH Key,按提示輸入密碼,能夠不填密碼一路回車docker

$ ssh-keygen -t rsa -C "註冊郵箱"

而後用戶主目錄/.ssh/下有兩個文件,id_rsa是私鑰,id_rsa.pub是公鑰shell

 

2.獲取key,打開.ssh下的id_rsa.pub文件,裏面的內容就是key的內容瀏覽器

$ start ~/.ssh/id_rsa.pub

 

3.登陸GitHub,打開"SSH Keys"頁面,快捷地址:https://github.com/settings/ssh bash

4.測試ssh key是否成功,使用命令「ssh -T git@github.com」,若是出現You’ve successfully authenticated, but GitHub does not provide shell access 。這就表示已成功連上github。ssh

 

遠程庫與本地庫之間的操做:ide

1.從遠程克隆一份到本地能夠經過git clone

Git支持HTTPS和SSH協議,SSH速度更快

$ git clone git@github.com:nanfei9330/xx.git

 

2.本地庫關聯遠程庫,在本地倉庫目錄運行命令:

$ git remote add origin git@github.com:nanfei9330/learngit.git

請替換爲本身倉庫的的SSH

 

3.推送master分支的全部內容

$ git push -u origin master

第一次使用加上了-u參數,是推送內容並關聯分支。

推送成功後就能夠看到遠程和本地的內容如出一轍,下次只要本地做了提交,就能夠經過命令:

$ git push origin master

把最新內容推送到Github

 

=================實戰一下吧======================

本地建立文本test.txt,運行:

$ git add text.txt
$ git commit -m"添加新文件"
$ git push origin master

而後就能夠在github看到同步了

 

step:

  • 新建一個遠程的倉庫(空的)

新建一個遠程倉庫
  • 設置遠程倉庫的名字,並建立

設置倉庫名

切記:若是咱們在建立遠程倉庫的時候添加了README和.ignore等文件,咱們在後面關聯倉庫後,須要先執行pull操做

  • 在本地建立一個本地的文件夾


    在本地建立一個文件夾
  • 利用終端進入當前的文件夾目錄

    cd /Users/Sunshine/Documents/大神班/練習/0721/helloTest

    用終端進入這個文件夾
  • 初始化這個本地的文件夾爲一個Git能夠管理的倉庫
    git init
    注意:Git會自動爲咱們建立惟一一個master分支
    咱們可以發如今當前目錄下多了一個.git的目錄,這個目錄是Git來跟蹤管理版本庫的,千萬不要手動修改這個目錄裏面的文件,否則改亂了,就把Git倉庫給破壞了。

初始化本地的倉庫
  • 將本地的倉庫和遠程的倉庫進行關聯
    git remote add origin git@github.com:YotrolZ/helloTest.git
    備註:origin就是咱們的遠程庫的名字,這是Git默認的叫法,也能夠改爲別的;
    git@github.com:YotrolZ/helloTest.git是咱們遠程倉庫的路徑(這裏咱們使用的github)

將本地的倉庫與遠程的倉庫進行關聯
  • 這樣咱們就能夠開始在本地的文件夾中作事了,這裏咱們先建立一個main.m文件

    • 新建文件

      touch main.m
    • 將新建的main.m文件添加到倉庫(這樣git就會追蹤這個文件)

      git add main.m
    • 把文件提交到倉庫

      git commit -m "新建了一個man.m文件"

在本地倉庫新建一個main.m文件
  • 把本地庫的內容推送到遠程
    git push -u origin master
    • 備註:origin:遠程倉庫名字; master:分支
    • 注意:咱們第一次push的時候,加上-u參數,Git就會把本地的master分支和遠程的master分支進行關聯起來,咱們之後的push操做就再也不須要加上-u參數了

push到遠程的倉庫
  • 咱們用瀏覽器進入遠程倉庫中查看,發現遠程倉庫中也出現了mian.m文件

    遠程倉庫中也有了一個main.m文件
  • 假如某天咱們又對mian.m文件進行了修改(這裏咱們在main.m文件裏面添加了一句"hello world")

    修改main.m文件
  • 咱們能夠利用git status查看狀態

    查看狀態
  • 將文件添加到Git版本庫,實際上就是把文件修改添加到暫存區

    git add main.m
  • 提交修改,實際上就是把暫存區的全部內容提交到當前分支


    提交修改
  • 再次查看狀態
    git status

    再次查看狀態
  • 把本地當前分支的最新修改推送至GitHub上的遠程倉庫
    git push origin master

    將修改後的main.m文件push到遠程倉庫
  • 利用瀏覽器在遠程倉庫查看,咱們看到已經將本地上的修改推送到遠程倉庫了

    在遠程倉庫中查看

總結

    • 初始化一個本地Git倉庫(把本地的文件夾初始化成一個Git能夠管理的版本庫)

      git init

      注意:需讓命令行終端處在當前文件目錄

    • 把文件添加到本地版本庫

      git add 文件名
    • 把文件修改提交到倉庫

      git commit -m "註釋"
    • 關聯一個遠程倉庫

      git remote add origin git@github.com:YotrolZ/helloTest.git
    • 將最新的修改推送到遠程倉庫

      git push -u origin master
      • 注意:
        1.每次push前要先進行git add 文件名 和 git commit -m "註釋"
        2.在第一次進行push時,咱們加上-u參數,後期push時就不用再加-u參數

 

 

     step:

         在此記錄下來對本身有用的部分,以便往後查看,若有雷同純屬巧合!!!

相關文章
相關標籤/搜索