自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Git Worktree 讓你再也無(wú)需切換分支!

開(kāi)發(fā) 前端
如果使用了 git worktree 那么整個(gè)操作的流程就會(huì)變得更加簡(jiǎn)單。你可以直接擁有 feature 和 master 兩個(gè)分支的單獨(dú)工作目錄 并且可以分別在不同目錄之間完成開(kāi)發(fā)工作,不再需要進(jìn)行來(lái)回切換。

Hello,大家好,我是 Sunday。

讓我們假設(shè)一個(gè)場(chǎng)景:

你正在某個(gè)分支中處理一個(gè)名為“feature”的功能,突然之間需要在主分支(master)中修復(fù)一個(gè)關(guān)鍵性 bug。

如果沒(méi)有使用 git worktree,那么你必須:

  1. 在功能分支(feature)中存儲(chǔ)或提交更改
  2. 切換到主分支(master),在主分支中修復(fù)錯(cuò)誤,提交修復(fù)
  3. 切換回功能分支,然后取消存儲(chǔ)或檢出更改。

特別是如果你需要多次來(lái)回切換,這就顯得很麻煩了。

但是 如果使用了 git worktree 那么整個(gè)操作的流程就會(huì)變得更加簡(jiǎn)單。你可以直接擁有 feature 和 master 兩個(gè)分支的單獨(dú)工作目錄 并且可以分別在不同目錄之間完成開(kāi)發(fā)工作,不再需要進(jìn)行來(lái)回切換。

使用 git worktree 完成修復(fù)工作

假設(shè)你目前在 feature 分支上,正在處理項(xiàng)目的開(kāi)發(fā)工作。突然間,你需要在主分支上修復(fù)一個(gè)錯(cuò)誤。

那么此時(shí)你可以使用以下命令為主分支創(chuàng)建一個(gè)新的工作樹(shù)(worktree):

git worktree add ../bugfix master

該命令在當(dāng)前存儲(chǔ)庫(kù)的相對(duì)路徑 ../bugfix 處創(chuàng)建一個(gè)新目錄,并在該目錄中簽出主分支?,F(xiàn)在,你可以轉(zhuǎn)到 bugfix 目錄并修復(fù) bug:

cd ../bugfix

你在這里進(jìn)行的任何更改都將在主分支上進(jìn)行,并不會(huì)影響其他分支。一旦完成了bug修復(fù),則可以直接提交你的更改:

git commit -am "修復(fù) bug"

現(xiàn)在,你可以返回到原工作目錄并繼續(xù)在原分支(feature)上完成之前的工作:

cd ../feature

在原分支(feature)中的完成過(guò)的代碼依然存在,并且你不需要進(jìn)行額外的存儲(chǔ)和切換分支的操作。

這就是使用 git worktree 完成日常工作的操作流程,它 允許我們同時(shí)在多個(gè)分支上工作,并且每個(gè)分支都有自己的工作目錄

讓我們把整個(gè)過(guò)程梳理一遍:

## Push 操作

# 從 bugfix 目錄提交 bugfix 分支
cd ../bugfix
git push origin master

# 從 feature 目錄提交 feature 分支
cd ../feature
git push origin feature


## Merge 操作

# 切換分支到 master
cd ..
git checkout master

# 合并代碼到 master
git merge master

# 合并到 feature
git merge feature

## 刪除操作

git worktree remove ../bugfix
git worktree remove ../feature


## 將合并后的更改推送到遠(yuǎn)程倉(cāng)庫(kù)

git push origin master

git worktree 帶來(lái)的其他好處

除了上述場(chǎng)景之外,git worktree 還有很多其他好處:

  1. 代碼審查: 如果你正在審查多個(gè)分支的代碼,可以在單獨(dú)的 worktree 中檢出每個(gè)分支。這樣可以快速的在它們之間切換,而無(wú)需每次都執(zhí)行檢出的操作。
  2. 持續(xù)集成/部署: 如果你有一個(gè)需要同時(shí)處理同一存儲(chǔ)庫(kù)的多個(gè)分支的 CI/CD ,git worktree 可以讓每個(gè)分支都在自己的 worktree 中,避免沖突。
  3. 長(zhǎng)時(shí)間運(yùn)行的任務(wù): 如果你有一項(xiàng)長(zhǎng)時(shí)間運(yùn)行的任務(wù)(例如:測(cè)試套件或代碼構(gòu)建),你希望在一個(gè)分支上運(yùn)行該任務(wù)的同時(shí)繼續(xù)在另一個(gè)分支上工作,可以在一個(gè)目錄中運(yùn)行任務(wù)并在另一個(gè)目錄中工作。
責(zé)任編輯:武曉燕 來(lái)源: 程序員Sunday
相關(guān)推薦

2024-04-18 09:12:58

Git分支代碼

2025-01-13 00:00:15

分支gitmaster

2022-03-18 09:45:43

Git分支Linux

2021-12-02 07:50:29

分支服務(wù)git worktre

2012-07-23 13:09:33

加密密碼

2014-08-08 10:20:23

Git版本管理系統(tǒng)

2021-11-24 07:56:56

Git分支命令

2022-05-25 16:51:41

Git 分支重命名開(kāi)發(fā)者

2021-01-04 13:40:59

Git開(kāi)源工具

2022-07-13 09:05:19

C++Git 分支測(cè)試

2023-12-01 11:05:29

Git 分支

2020-07-09 08:00:25

Git分支模式

2023-10-09 08:39:33

Git Flow分支管理模型

2022-11-07 08:01:18

Git分支管理

2022-10-26 09:22:19

git命令Linux

2018-06-08 09:27:08

GitLinux開(kāi)源

2021-03-28 17:21:15

Git分支策略

2020-06-28 16:07:03

HomebrewMacLinux

2020-05-28 10:45:31

Git分支合并

2022-08-11 15:45:13

Git
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)