目錄
- 一、gitlab的SSH配置
- 1. 下載安裝git
- 2.生成SSH keys
- 二、fork自己的庫
- 1.進入原庫
- 2. 專案管理
- 3. 把自己fork的庫clone到本地
- 三、如何更新自己的fork庫
- 1. 先對我們現在的fork庫內的檔案進行修改
- 2. 進行提交
- 3. 進入fork庫查看
- 四、如何通過fork庫發起原庫更新請求
- 發起 merge request 即可
- 五、如何更新自己的fork庫
- 1. 原庫已經修改
- 2. 打開git bash
- 六、如何在原庫分支進行上傳
- 1. 在本地克隆原庫
- 2. 建立分支
- 3. 修改本地內容
- 4. 上傳到分支
- 5. 在遠程庫中查看
一、gitlab的SSH配置
1. 下載安裝git
官網下載git軟體:https://git-scm.com/downloads
自定義安裝路徑時注意路徑不能還有中文和空格
開始選單>git>git bash,“Your Name”和“email@example.com”分別是自己在gitlab上注冊的用戶名和郵箱:
git config --global user.name "Your name"
git config --global user.email "emainl@example.com"
2.生成SSH keys
1)在bash視窗輸入(右鍵,git bash)
ssh-keygen -t rsa -C "your.email@example.com"
一直回車即可,如果是后續重復生成的話,會出現“Overwrite (y/n)?”,此時輸入y即可,繼續回車,

2)生成秘鑰后,輸入
cat ~/.ssh/id_rsa.pub | clip
“ | clip” 命令便是將id_rsa.pub檔案內的秘鑰復制到剪切板上,
3)在gitlab網頁上
用戶>settings>SSH Keys,復制填寫到密鑰的區域,點擊add key按鈕確認

二、fork自己的庫
1.進入原庫
在原庫中點擊fork,選擇自己的路徑即可


2. 專案管理
這是可以發現我們fork之后的庫對我們而言是“maintainer”

3. 把自己fork的庫clone到本地
1)隨便建立一個檔案,然后右鍵 git bash 進入git命令列
2)因為已經配置了SSH key,所以可以用SSH進行傳輸,將fork庫的SSH復制下來

這時候要注意,黃色框里的就是庫的路徑,從這里也能判斷,如果是你fork的,那么這里應該是自己設定的路徑,如果是原庫,那么這里應該是原庫的路徑,
3)git clone
git clone git@gitlab.com:chengqide/assignment.git
這里要注意當我們在克隆了倉庫之后,我們要進入到下載的倉庫才能對倉庫進行操作,比如這里我們進入 assignment ,然后會顯示我們進入了 main 分支,
這里也可以直接點擊下載好的倉庫檔案,再右鍵 git bash

三、如何更新自己的fork庫
1. 先對我們現在的fork庫內的檔案進行修改
2. 進行提交
提交命令如下
git add .
git commit -m "your commit reason"
git push origin main
3. 進入fork庫查看
重繪后發現遠程fork庫內的內容已經被修改:
四、如何通過fork庫發起原庫更新請求
發起 merge request 即可

五、如何更新自己的fork庫
gitlab免費版內的fork庫是沒辦法實時對原庫代碼進行更新的,所以原庫更改后可以通過pull或fetch merge 的方法進行更新,這里主要講fetch merge:
1. 原庫已經修改
這里我將原庫的readme.md進行修改

2. 打開git bash
1)我們先查看我們跟那些庫進行了鏈接:
git remote -v
2)發現我們這里只有本地的origin代理的fork庫,所以我們要對原庫進行鏈接:
(這里的newbase是我們起的原庫的別名,后面是原庫的SSHurl)
git remote add newbase git@gitlab.com:sp2022_emd/assignment.git
這里再查看就有四個了:

3)通過fetch對原庫進行更新:
git fetch newbase main
這里看到newbase的main分支已經被更新了:

4)通過merge將更新的原庫對fork庫進行合并:
git merge newbase/main
這里發現,如果多個用戶修改的檔案或者檔案修改有沖突,會報錯:

查找沖突出現在哪里:
git diff
這里發現原庫的內容更新時,要對我的fork庫的內容進行“洗掉、修改”,所以會沖突詢問:

然后我們進入沖突檔案 “README.md”(這里最好不要用markdown打開,會有看不到的格式,txt打開即可,代碼的話vscode等都行):

這是要注意,有三個紅框,前兩個紅框之間的是fork庫內的原本的內容,后兩個紅框之間的是我們merge更新的原庫的內容,自己進行修改、洗掉,最后要把紅框內的內容全部洗掉,
然后進行git add . -> commit -> push 等操作,再merge時就可以了,

六、如何在原庫分支進行上傳
我們可以在原庫建立分支,然后將自己的修改部分放在分支內部,
1. 在本地克隆原庫

git clone git@gitlab.com:sp2022_emd/assignment.git
然后進入原庫的main主支,接著建立分支:
2. 建立分支
第一種方法可以先建立分支,然后進入:
git branch newbranch
git checkout newbranch
第二種方法可以直接新建分支并進入:
git checkout -b newbranch
可以通過git branch -a 查看分支情況:
git branch -a
這里可以看到我們已經進入了新建的分支內部:

3. 修改本地內容
然后我們將本地的README.md修改:

4. 上傳到分支
5. 在遠程庫中查看
可以看到遠程庫中出現了新建的分支,然后所有者會進行合并或者洗掉修改操作:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/290990.html
標籤:其他
上一篇:docker的基礎用法
