git學習筆記(三)

本篇爲git學習筆記的第三篇文章。


一、關聯遠程倉庫

將本地的git倉庫託管到遠程git倉庫上,如github,也可以選擇其他的git託管網站,或者自己搭建git服務器,如gitlab。接下來選擇使用github來學習如何將本地git倉庫託管到github上。

  1. 登錄github,新建一個空的倉庫

    這裏寫圖片描述

    空倉庫新建完成,github會提示我們如何將已經存在的倉庫推送到github上。我們看到github提供了兩個倉庫地址,https//github.com/worm0527/gitTest.git[email protected]:worm0527/gitTest.git。這兩個地址有何區別呢?如果使用以https開頭的地址進行關聯,那麼關聯時需要輸入github的賬號和密碼,在以後提交代碼的時候同樣需要輸入賬號和密碼。如果使用SSH地址(以git@開頭的地址),使用之前需要配置SSH KEY。配置完key之後,進行關聯就不需要輸入賬號和密碼,在以後代碼提交的時候同樣也不需要輸入賬號和密碼,較使用https更爲方便。

  2. 配置SSH KEY

    我們使用SSH地址關聯遠程倉庫,關聯之前需要生成和配置ssh key。Windows下打開Git Bash,在命令行中輸入

    $ ssh-keygen -t rsa -C 'some comment'

    然後一路回車,在回車過程中會要求設置key的密碼,這裏不進行設置,直接回車。最後默認回會在C:\Users\你的用戶名\ .ssh路徑下生成id_rsaid_rsa.pub兩個文件。id_rsa中保存的爲私鑰不能公開,id_rsa.pub爲公鑰可以隨意公開。

    我們也可以使用-f指定文件生成路徑和文件名,-C後面表示生成key的註釋,在生成的公鑰中可以查看。

    ssh-keygen用法如下圖:

    ssh-keygen的用法

    接下來,登錄github,找到賬號的settings,找到SSH and GPG keys配置項,點擊New SSH key進行配置。如下圖:

    這裏寫圖片描述

    最後點擊Add SSH key保存配置。

    我們在平時的工作和學習中經常會碰到配置多個ssh-key的情況,可以參考這篇文章配置多個ssh-key

  3. 將本地的git倉庫關聯到遠程

    配置完ssh-key後,進入本地倉庫目錄打開Git Bash,然後執行命令:

    $ git remote add origin https://github.com/worm0527/gitTest.git
    $ git push -u origin master

    執行完命令後就將本地的git項目關聯到遠程倉庫了,以後就可以使用git push、git pull進行提交和更新操作了。

  4. 從遠程倉庫克隆
    代碼關聯到遠程倉庫後,其他開發人員就可以從該遠程倉庫獲取代碼。使用命令:

    $ git clone https://github.com/worm0527/gitTest.git

二、分支管理

  1. 創建分支
    有的時候開發新的功能,這時候就需要拉取新分支,等開發完成後再合併到主分支上。可以使用命令(如新建dev分支):

    $ git checkout -b dev

    該命令的意思是創建並切換到dev分支。也可以將該條命令分成兩條命令執行,如下:

    $ git branch dev        #創建名爲dev的新分支
    $ git checkout dev      #切換到dev分支

    創建完成可以通過git branch進行查看,如下圖(當前位於dev分支):

    這裏寫圖片描述

  2. 推送分支到遠程倉庫
    有的時候新功能開發需要多人協作完成,所以就需要將新建的分支推送到遠程倉庫,供合作的開發人員拉取進行開發使用。

    使用命令:

    $ git push -u origin dev #遠程分支名需要與本地分支名稱相同,否則會推送失敗

    完成後,使用命令:

    $ git branch -a

    可以查看遠程存在的分支,如下圖:

    這裏寫圖片描述
    如圖,我們看到dev分支已經推送到遠程倉庫。

    通過以上操作後,我們就可以在該分支上進行協作開發。以後就可以直接使用git push進行代碼的推送、git pull進行代碼的更新。

    其他開發人員,只要使用命令:

    $ git checkout -b dev origin/dev

    便可以將該分支拉取到本地。

    注意:

    我們同樣可以使用git push origin dev命令推送新建分支,但是這樣在以後的操作中就不能直接使用git push和git pull進行代碼的推送和更新,直接使用會導致操作失敗,會提示如下信息:
    這裏寫圖片描述 該提示信息告訴我們當前分支沒有設置upstream,可以再次使用命令git push -u origin dev進行推送,其實該命令就是git push –set-upstream origin dev的簡寫。更爲詳細的解釋,可參考Git push和pull的默認行爲

  3. 合併分支

    開發完成並測試完畢後需要將dev分支的代碼合併到master主分支。首先切換到master分支,然後執行命令:

    $ git merge dev
  4. 刪除分支

    新功能上線完畢後就可以將該分支刪除了。

    刪除遠程分支可以使用命令:

    $ git push origin :dev   #刪除遠程分支

    或者

    $ git push origin --delete dev #刪除遠程分支

    刪除遠程分支後再刪除本地分支,使用命令:

    $ git branch -d dev #刪除本地分支
  5. 重命名遠程分支

    如,我們需要將遠程的dev分支重命名爲dev1

    可以先刪除遠程分支:

    $ git push origin :dev   #刪除遠程分支

    然後,重命名本地分支:

    $ git branch -m dev dev   #重命名本地分支

    最後,將重命名後的本地分支推動到遠程:

    $ git push -u origin dev1   #將重命名後的分支推送到遠程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章