tft每日頭條

 > 生活

 > git的安裝與使用超詳細版教程

git的安裝與使用超詳細版教程

生活 更新时间:2025-02-10 23:24:45

GitHub 上我們可以 fork 别人的項目,為了與别人産生一種協作關系,将他人的項目在自己本地創建也一個,這裡以霍格沃茲測試學院(Hogwarts)的演練環境做演示:

1.1) 點擊fork按鈕對項目進行fork:

1.2)fork完成後就可以在我們自己的gitHub賬戶下見到被fork的項目:

2.1)接着我們使用git clone命令将fork的項目clone到本地:

這個時候可以将此項目看做是自己的一個項目,可以任意修改;

2.2)項目的作者可以看到有哪些人fork了自己的項目:

git的安裝與使用超詳細版教程(Git實戰三)1

3.1) 先在本地修改README.md文件為:

# Hogwarts_Online2 霍格沃茲測試學院定向班第二期演練 try it

3.2)将文件提交到本地倉庫:

git的安裝與使用超詳細版教程(Git實戰三)2

這個時候可以看到提交的作者已經變成我們自己了;也可以使用git remote -v命令來查看,可見現在本地倉庫與遠程倉庫直接關聯的是fork之後的項目:

git的安裝與使用超詳細版教程(Git實戰三)3

3.3)隻用git push命令将本地倉庫的文件推到遠程倉庫中去:

git的安裝與使用超詳細版教程(Git實戰三)4

如下圖可以看到已經成功将修改後的README.md文件推到了GitHub上:

pr:全稱 pull request,當我們修改了 fork 後的項目後,因為不能直接修改别人的項目,這個時候想要将自己的修改與原項目合并,就可以使用 pr 來向原項目作者進行申請

4.1)發起 pr,點擊 New pull request:

然後我們可以看到倉庫路徑從我的倉庫向原作者項目倉庫地址發起 pr 請求,在下面可以看到我對項目的修改 diff:

4.2)這個時候我們點擊Create new pull request按鈕,填寫描述後再點擊Create new pull request按鈕:

git的安裝與使用超詳細版教程(Git實戰三)5

git的安裝與使用超詳細版教程(Git實戰三)6

這個時候原倉庫維護人員就可以收到pr,并對其進行審核、評論、merge或close的操作:

git的安裝與使用超詳細版教程(Git實戰三)7

5.1) 在文件修改沒有沖突(conflict)的時候,可以直接merge:

5.2) 當文件修改有沖突的時候,就需要原作者去進行RResolve了:

5.3) 或者有沖突的pr直接close:總結下來有以下三種情況:

  • 無沖突直接merge
  • 有沖突手工merge
  • 有沖突close并重新發起pr有時候我們fork了項目,但是很有可能我們對項目的修改會比原項目滞後,這就會導緻pr的時候容易出現conflict;為了能讓我們知道當前的修改是否conflict,就需要使用git fetch命令了;使用 git fetch 拿下來一個遠程分支的文件,看一下這個分支和我自己的有什麼沖突。7.1)先使用git remote -v命令來查看本地倉庫與遠程倉庫的關聯關系

git的安裝與使用超詳細版教程(Git實戰三)8

這個時候我們可以增加一個remote,選擇原倉庫的HTTPS地址,使用git remote add <遠端名> <遠端地址>命令來添加一個remote:

git的安裝與使用超詳細版教程(Git實戰三)9

7.2)再将遠程端的master分支fetch到本地:

git的安裝與使用超詳細版教程(Git實戰三)10

7.3) 這時候使用git merge将當前master分支與遠端分支合并:

git的安裝與使用超詳細版教程(Git實戰三)11

結果中我們發現産生了沖突,再使用git status命令查看:

git的安裝與使用超詳細版教程(Git實戰三)12

發現兩邊都修改了README.md,這個時候我們使用vi對README.md進行查看,當我們merge的時候,系統會把文件換成以下的展示模式:

git的安裝與使用超詳細版教程(Git實戰三)13

這種展示模式的意思是以等号=為分隔符,等号上方為當前分支的修改,等号下方為遠程分支的修改,這樣就産生的沖突,我們可以手動進行修改,然後merge:

git的安裝與使用超詳細版教程(Git實戰三)14

git的安裝與使用超詳細版教程(Git實戰三)15

git的安裝與使用超詳細版教程(Git實戰三)16

7.4) 這個時候刷新GitHub,在我們自己的分支倉庫中可以看到已經成功将修改進行merge:

這個時候如果再進行pr的話,遇見conflict的幾率就會小的多了命令簡單總結:

git remote add other xxxx git fetch other master git merge remotes/other/maste

git的安裝與使用超詳細版教程(Git實戰三)17

8.1)将項目用IDEA打開,在Version Control → log中可以看到我們的提交管理線:

git的安裝與使用超詳細版教程(Git實戰三)18

8.2)雙擊文件可以查看文件diff:

git的安裝與使用超詳細版教程(Git實戰三)19

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved