最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

Git 實(shí)戰(zhàn)(三) | Github 必會(huì)高頻基礎(chǔ)命令與 IDE 的 Git 集成

2022-11-04 10:42 作者:愛測軟件測試  | 我要投稿

GitHub 上我們可以 fork 別人的項(xiàng)目,為了與別人產(chǎn)生一種協(xié)作關(guān)系,將他人的項(xiàng)目在自己本地創(chuàng)建也一個(gè),這里以霍格沃茲測試學(xué)院(Hogwarts)的演練環(huán)境做演示:

1.1) 點(diǎn)擊fork按鈕對項(xiàng)目進(jìn)行fork:

1.2)fork完成后就可以在我們自己的GitHub賬戶下見到被fork的項(xiàng)目:

2.1)接著我們使用git clone命令將fork的項(xiàng)目clone到本地:

這個(gè)時(shí)候可以將此項(xiàng)目看做是自己的一個(gè)項(xiàng)目,可以任意修改;

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

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

# Hogwarts_Online2?

霍格沃茲測試學(xué)院定向班第二期演練

try it

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

這個(gè)時(shí)候可以看到提交的作者已經(jīng)變成我們自己了;
也可以使用git remote -v命令來查看,可見現(xiàn)在本地倉庫與遠(yuǎn)程倉庫直接關(guān)聯(lián)的是fork之后的項(xiàng)目:

3.3)只用git push命令將本地倉庫的文件推到遠(yuǎn)程倉庫中去:

如下圖可以看到已經(jīng)成功將修改后的README.md文件推到了GitHub上:

pr:全稱 pull request,當(dāng)我們修改了 fork 后的項(xiàng)目后,因?yàn)椴荒苤苯有薷膭e人的項(xiàng)目,這個(gè)時(shí)候想要將自己的修改與原項(xiàng)目合并,就可以使用 pr 來向原項(xiàng)目作者進(jìn)行申請

4.1)發(fā)起 pr,點(diǎn)擊 New pull request:

然后我們可以看到倉庫路徑從我的倉庫向原作者項(xiàng)目倉庫地址發(fā)起 pr 請求,在下面可以看到我對項(xiàng)目的修改 diff:

4.2)這個(gè)時(shí)候我們點(diǎn)擊Create new pull request按鈕,填寫描述后再點(diǎn)擊Create new pull request按鈕:

這個(gè)時(shí)候原倉庫維護(hù)人員就可以收到pr,并對其進(jìn)行審核、評(píng)論、merge或close的操作:

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

5.2) 當(dāng)文件修改有沖突的時(shí)候,就需要原作者去進(jìn)行RResolve了:

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

  • 無沖突直接merge

  • 有沖突手工merge

  • 有沖突close并重新發(fā)起pr
    有時(shí)候我們fork了項(xiàng)目,但是很有可能我們對項(xiàng)目的修改會(huì)比原項(xiàng)目滯后,這就會(huì)導(dǎo)致pr的時(shí)候容易出現(xiàn)conflict;為了能讓我們知道當(dāng)前的修改是否conflict,就需要使用git fetch命令了;
    使用 git fetch 拿下來一個(gè)遠(yuǎn)程分支的文件,看一下這個(gè)分支和我自己的有什么沖突。
    7.1)先使用git remote -v命令來查看本地倉庫與遠(yuǎn)程倉庫的關(guān)聯(lián)關(guān)系

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

7.2)再將遠(yuǎn)程端的master分支fetch到本地:

7.3) 這時(shí)候使用git merge將當(dāng)前master分支與遠(yuǎn)端分支合并:

結(jié)果中我們發(fā)現(xiàn)產(chǎn)生了沖突,再使用git status命令查看:

發(fā)現(xiàn)兩邊都修改了README.md,這個(gè)時(shí)候我們使用vi對README.md進(jìn)行查看,當(dāng)我們merge的時(shí)候,系統(tǒng)會(huì)把文件換成以下的展示模式:

這種展示模式的意思是以等號(hào)=為分隔符,等號(hào)上方為當(dāng)前分支的修改,等號(hào)下方為遠(yuǎn)程分支的修改,這樣就產(chǎn)生的沖突,我們可以手動(dòng)進(jìn)行修改,然后merge:


7.4) 這個(gè)時(shí)候刷新GitHub,在我們自己的分支倉庫中可以看到已經(jīng)成功將修改進(jìn)行merge:

這個(gè)時(shí)候如果再進(jìn)行pr的話,遇見conflict的幾率就會(huì)小的多了
命令簡單總結(jié):

git remote add other xxxx

git fetch other master?

git merge remotes/other/maste

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

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


8.3)在右下角還可以進(jìn)行Git分支的管理:

Git 是測試人的基礎(chǔ)技能之一,對于想系統(tǒng)進(jìn)階提升測試開發(fā)技能的同學(xué)

關(guān)注我公眾號(hào)TestingStudio,霍格沃茲的干貨都很硬核


Git 實(shí)戰(zhàn)(三) | Github 必會(huì)高頻基礎(chǔ)命令與 IDE 的 Git 集成的評(píng)論 (共 條)

分享到微博請遵守國家法律
巨鹿县| 扬中市| 正阳县| 长治县| 政和县| 鄂尔多斯市| 临泽县| 阿合奇县| 文水县| 临泉县| 澳门| 潜江市| 从化市| 大连市| 阳泉市| 连城县| 白银市| 台东市| 科技| 拉孜县| 华宁县| 江北区| 焦作市| 崇信县| 大竹县| 新郑市| 中西区| 马关县| 巫溪县| 内乡县| 紫阳县| 定结县| 资阳市| 汝阳县| 天等县| 车险| 小金县| 明水县| 德化县| 长垣县| 荔浦县|