Git學習之遠程庫操作

       之前文章中小白講了本地倉庫和工作區之間的基本操作,這篇博客小白整了了一下遠程庫的一些操作。

首先,確認自己已經申請了GitHub且有了.ssh文件,由於小白之前已經都操作完了,這裏就不再重新來一遍,過程很簡單,可以任意百度,輕鬆找到方法。

下面是小白電腦中已經存在的內容,其中id_rsa是私鑰,id_rsa.pub是公鑰,私鑰不可外傳,公鑰可以。其中公鑰的內容我們下一步要用到。

有了這個基礎後,就可以在自己的GitHub中,創建SSH Key

按照下圖打開工具中的settings

進入到下面頁面:

點擊add ssh key就可以創建一個名字,下面是小白之前創建的title爲gongyao,key文本框中粘貼id_rsa.pub文件的內容即可。

創建好後就如上圖了。

創建好後,就可以添加遠程庫了。我們本地已經創建了Git倉庫,現在在GitHub創建一個Git倉庫,讓這兩個倉庫遠程同步。

1.創建一個新的倉庫

點擊+號圖標,選中藍色標識,然後在新的頁面中填入要創建的名稱,這裏小白填入和本地一樣的倉庫名稱,其他無需修改,直接點擊create repository按鈕即可

下面就是新建好的初始頁面:

上圖提示告訴我們,可以從這個倉庫克隆出新的倉庫。

2.把本地庫的內容推送到遠程,使用 git push命令,實際上是把當前分支master推送到遠程。

根據提示,在本地的mygittest倉庫運行命令:

由於遠程庫是空的,我們第一次推送master分支時,加上了 –u參數,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以後的推送或者拉取時就可以簡化命令。推送成功後,可以立刻在github頁面中看到遠程庫的內容已經和本地一模一樣了,上面的要輸入github的用戶名和密碼如下所示:

上面操作都完成後,之後如果本地做了提交,就可以通過命令:

把本地master分支的最新修改推送到github上了,真正的分佈式版本庫行程了。

git push origin master

比如下面的一個更新,更新到遠程庫,可以看下小case:

此時頁面刷新就更新了:

3.從遠程庫克隆

上面我們瞭解了先有本地庫,後有遠程庫時候,如何關聯遠程庫。如果遠程庫有新的內容了,我想克隆到本地來 如何克隆呢?

如果我們在myfirstgit.txt再增加一行,保存。

更新後頁面如下:

克隆這個文檔:

4.創建和合並分支

從上篇博文中,我們可以知道,每次提交,Git都把每次記錄串成一條時間線,這條時間線就是一個分支。截止到目前,只有一條時間線,在Git裏,這個分支叫主分支,即master分支。HEAD嚴格來說不是指向提交,而是指向master,master纔是指向提交的,所以,HEAD指向的就是當前分支。

首先,我們來創建br1分支,然後切換到br1分支上。如下操作:

git branch查看分支,會列出所有的分支,當前分支前面會添加一個星號。

可以看到有兩個分支,一個master,一個br1,當前在br1分支。

上面的創建並切換分支,也可以用下面命令完成:

首先,查看下現在myfirstgit.txt內容,接着添加一條數據:

在br2上增加:

上述添加br2分支工作就當完成了,現在切換到主分支master上,繼續查看文件內容:

可以看到主分支的內容並沒有更改

現在把分支上的內容合併到主分支master上:

可以看到增加了一條記錄到文檔在中

git merge命令用於合併指定分支到當前分支上

注意下Fast-forward信息,Git告訴我們,這次合併是“快進模式”,也就是直接把master指向br2的當前提交,所以合併速度非常快。

合併完成後,我們可以接着刪除br1、br2分支了,操作如下:

當前就只有一個master分支了

5.如何處理分支修改衝突?

1.首先創建並切換br1分支

2.查看修改前後的文件

3.提交

4.切換到master分支

5.查看修改前後的文件

6.提交

7.在master上合併br1,如下:

在合併是產生了衝突報警,查看狀態如下:

8.查看文件內容

衝入內容如下圖

Git用<<<<<<<,=======,>>>>>>>標記出不同分支的內容,其中<<<HEAD是指主分支修改的內容,>>>>>br1是指br1上修改的內容,此時我們可以修改分支上的內容和主幹一致(在文件夾中修改成和主幹一樣的內容):

查看修改的內容:

然後將該文檔上傳

合併分支,查看狀態,發現已經完成合並啦~

 

發佈了84 篇原創文章 · 獲贊 118 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章