後端技術考古題-開發工具 下篇(三)

更新於 發佈於 閱讀時間約 2 分鐘

※ Git(三)

  1. 什麼是 staging area?

在 Git 中,staging area是暫存區的意思,也被稱為索引(index)。透過一個git add 指令把檔案從工作目錄移至暫存區。再透過一個git commit 指令把暫存區的內容移至儲存庫。

image

image


  1. 當多人協作時你要開發個功能,但不影響主程式,該怎麼作呢?要下什麼指令?開發好功能後需要下什麼指令合併回主程式?如果衝突了要如何處理?
  • 釐清Master、Branch:

主幹(Master)與分支(Branch)是稱呼專案的主要版本和分支版本。一個開發專案在實際運作時,為了避免影響專案穩定性,通常專案開發、更動會在分支上進行。

raw-image


  • 開發新功能基本的流程:
  1. 建立新分支:

使用 git branch <branch_name> 指令來新增分支 feature/a:

 git branch feature/a

指令說明如下:

  • git branch:操作分支相關工作。
  • feature/a:欲新增的分支名稱。
  1. 查看分支:

使用 git branch 指令列出目前所有的分支名稱清單:

raw-image

指令說明如下:

新增的 feature/a 分支在清單裡出現。而 master 分支名稱前面的星號 * 表示目前我們位在 master 分支上。

可以使用 -v 這個副指令來查看各個分支的最新 commit:

raw-image

如果想一併查看遠端分支,需要搭配 --all:

raw-image
  1. 切換分支:

透過 git checkout 指令來切換目前使用的分支

raw-image

切換以後,使用 git branch 指令來檢查,你會看到 * 的位置已經從 master 移動至 feature/a。

  1. 在這個分支上進行你的開發工作,添加、修改、刪除所需的代碼。
  2. 提交你的更改到分支:
git add .
git commit -m "Add new feature"
  • 合併回主程式:
  1. 切換回主分支:
git checkout main
  1. 從遠端(remote)更新主分支的最新版本:
git pull origin main

3.合併你的功能分支到主分支:

git merge feature_branch_name
  1. 解決合併衝突:
  • 看到衝突第一件事是用 git status 看看有哪些檔案被標記紅色。
raw-image
  • 打開「git-demo.html」這個標紅色的資料夾,會找到出錯區段的標示。
raw-image
  • 做一個選擇,然後讓程式碼回到正常的樣子。
raw-image
  • 重新把程式碼提交到 staging area,重新進行 commit。
$ git add .
$ git commit --no-edit (直接接受預設訊息)
raw-image
  • 解決合併衝突之後,線圖長相會變成這樣:
raw-image
  1. 推送合併後的主分支到遠端:
git push origin main


全端網頁開發專業知識分享
留言
avatar-img
留言分享你的想法!
※ 關於Git (二) 請寫下從 Github 上複製一個專案下來,做一次遞交,然後推上去會用到的所有 git 指令。 複製專案(Clone) markdown-here: git clone https://github.com/adam-p/markdown-here.git 如果在訊息
關於Git(一) 版本管理系統是什麼?為什麼要用? 版本管理系統(Version Control System,VCS)是一種追蹤和管理項目代碼、文件和資源變更的工具。 工作流程上可防止每個人因使用自己的開發程式搭配不同且不相容的工具所引起的混亂。版本控制會同步處理版本,並確定變更不會與其他人
※ MySQL是什麼? MySQL是一種開源(免費)的關聯式資料庫管理系統,所以任何人都可以免費使用,是Web開發中最常用的資料庫之一。MySQL 會將資料儲存在由資料列與資料欄組成的資料表中。使用者可使用結構化查詢語言 (通常稱為 SQL) 來定義、操控、控管及查詢資料。  簡單來說,資料
※ 什麼是MongoDB? MongoDB是一個開源、跨平台的非關聯式資料庫,屬於一種文件導向(Document-oriented database)的資料庫管理系統,也就是 NoSQL 數據庫管理系統(DBMS)。 ※ 什麼是非關聯式資料庫(NoSQL)? 非關聯式資料庫(NoSQL)的意思
※ 主題關鍵字 Git flow: ※ 說明: Git Flow 是一種基於 Git 版本控制系統的擴展,用於協助團隊進行項目的軟體開發和版本管理,就流程來說屬於概括性的流程。 這種工作流程定義了一組明確的分支模型,以協助有效地進行功能開發、修復錯誤和發布版本。 Git Flow
※ 關於Git (二) 請寫下從 Github 上複製一個專案下來,做一次遞交,然後推上去會用到的所有 git 指令。 複製專案(Clone) markdown-here: git clone https://github.com/adam-p/markdown-here.git 如果在訊息
關於Git(一) 版本管理系統是什麼?為什麼要用? 版本管理系統(Version Control System,VCS)是一種追蹤和管理項目代碼、文件和資源變更的工具。 工作流程上可防止每個人因使用自己的開發程式搭配不同且不相容的工具所引起的混亂。版本控制會同步處理版本,並確定變更不會與其他人
※ MySQL是什麼? MySQL是一種開源(免費)的關聯式資料庫管理系統,所以任何人都可以免費使用,是Web開發中最常用的資料庫之一。MySQL 會將資料儲存在由資料列與資料欄組成的資料表中。使用者可使用結構化查詢語言 (通常稱為 SQL) 來定義、操控、控管及查詢資料。  簡單來說,資料
※ 什麼是MongoDB? MongoDB是一個開源、跨平台的非關聯式資料庫,屬於一種文件導向(Document-oriented database)的資料庫管理系統,也就是 NoSQL 數據庫管理系統(DBMS)。 ※ 什麼是非關聯式資料庫(NoSQL)? 非關聯式資料庫(NoSQL)的意思
※ 主題關鍵字 Git flow: ※ 說明: Git Flow 是一種基於 Git 版本控制系統的擴展,用於協助團隊進行項目的軟體開發和版本管理,就流程來說屬於概括性的流程。 這種工作流程定義了一組明確的分支模型,以協助有效地進行功能開發、修復錯誤和發布版本。 Git Flow
你可能也想看
Google News 追蹤
Thumbnail
全方位分析脫離繼承戰的方法,大膽猜測誰會成為卡丁國下一任國王。
在近代,一項技術迅速崛起並引發了廣泛關注,成為許多人爭相學習的焦點—區塊鏈技術。隨著比特幣和其他加密貨幣的爆發性增長,區塊鏈不僅在金融領域中展現了巨大的潛力,還開始在各行各業中逐漸擴展應用,從供應鏈管理到智能合約,無一不顯示出其顛覆性的力量。
Thumbnail
本篇文章探討了學習的過程,尤其在語言學習、程式技術與股票投資方面如何透過長時間的積累來達到事半功倍的效果。作者分享了自身的經歷,強調進入新手階段的挑戰與適應,以及如何在工作中利用空檔學習新技術,同時在投資上隨著時間的推移找到適合自己的方式。文章也提到82法則的重要性,讓讀者理解學習的有效方式。
Thumbnail
這篇文章將介紹工程師使用版控和git的相關知識和技能,包括版本控制的意義和git的基本指令,以及開發流程和webhook的概念。
分支與合併 Branching and Merging[1] 。 這裡提供一個很有趣的說法, 就是理解「分支 Branching」最好的方式, 就是把它理解成「上下文 Context」。
今天學習Git的第二步: 基礎快照 Basic Snapshotting [1] 。 之前提到,快照在Git的意思, 是Git 會紀錄 Git 儲存庫裡面每一個檔案在提交時刻的狀態。 可以說,Git 本身就是製作與組織這些「快照」的最強工具。 透過使用快照,你可以記錄你
今天學習Git 的第一步: 取得與建立項目 Getting and Creating Projects [1]。 之前提到「儲存庫 Repository」就是儲存所有「檔案 File」的地方。 在Git 的邏輯裡,儲存庫是要儲存所有的「快照 Snapshots」。 什麼是快照
※ 簡短說明Git 和 Git Flow 是什麼?如何應用? Git 是什麼? Git是一個分散式版本控制軟體,能夠紀錄檔案的狀態變化,以及協調多個開發者之間的工作。它允許團隊成員協作編輯和管理項目的代碼庫,並且能夠追蹤文件的歷史變更、恢復到以前的版本、合併不同版本的代碼,以及解決代碼衝突等。
※ Git(四) 空的資料夾無法被加入 Git 進行版本控制,但這個資料夾如果又是很重要的資料夾,你會怎麼處理? 當空的目錄無法被加入 Git 進行版本控制時,有以下的做法可以解決: 在那個空目錄裡隨便放一個檔案就行了。 在這個資料夾中添加一個名為 .gitkeep 的空檔案,讓 Git 能
※ Git(三) 什麼是 staging area? 在 Git 中,staging area是暫存區的意思,也被稱為索引(index)。透過一個git add 指令把檔案從工作目錄移至暫存區。再透過一個git commit 指令把暫存區的內容移至儲存庫。 當多人協作時你要開發個功能,但不
Thumbnail
全方位分析脫離繼承戰的方法,大膽猜測誰會成為卡丁國下一任國王。
在近代,一項技術迅速崛起並引發了廣泛關注,成為許多人爭相學習的焦點—區塊鏈技術。隨著比特幣和其他加密貨幣的爆發性增長,區塊鏈不僅在金融領域中展現了巨大的潛力,還開始在各行各業中逐漸擴展應用,從供應鏈管理到智能合約,無一不顯示出其顛覆性的力量。
Thumbnail
本篇文章探討了學習的過程,尤其在語言學習、程式技術與股票投資方面如何透過長時間的積累來達到事半功倍的效果。作者分享了自身的經歷,強調進入新手階段的挑戰與適應,以及如何在工作中利用空檔學習新技術,同時在投資上隨著時間的推移找到適合自己的方式。文章也提到82法則的重要性,讓讀者理解學習的有效方式。
Thumbnail
這篇文章將介紹工程師使用版控和git的相關知識和技能,包括版本控制的意義和git的基本指令,以及開發流程和webhook的概念。
分支與合併 Branching and Merging[1] 。 這裡提供一個很有趣的說法, 就是理解「分支 Branching」最好的方式, 就是把它理解成「上下文 Context」。
今天學習Git的第二步: 基礎快照 Basic Snapshotting [1] 。 之前提到,快照在Git的意思, 是Git 會紀錄 Git 儲存庫裡面每一個檔案在提交時刻的狀態。 可以說,Git 本身就是製作與組織這些「快照」的最強工具。 透過使用快照,你可以記錄你
今天學習Git 的第一步: 取得與建立項目 Getting and Creating Projects [1]。 之前提到「儲存庫 Repository」就是儲存所有「檔案 File」的地方。 在Git 的邏輯裡,儲存庫是要儲存所有的「快照 Snapshots」。 什麼是快照
※ 簡短說明Git 和 Git Flow 是什麼?如何應用? Git 是什麼? Git是一個分散式版本控制軟體,能夠紀錄檔案的狀態變化,以及協調多個開發者之間的工作。它允許團隊成員協作編輯和管理項目的代碼庫,並且能夠追蹤文件的歷史變更、恢復到以前的版本、合併不同版本的代碼,以及解決代碼衝突等。
※ Git(四) 空的資料夾無法被加入 Git 進行版本控制,但這個資料夾如果又是很重要的資料夾,你會怎麼處理? 當空的目錄無法被加入 Git 進行版本控制時,有以下的做法可以解決: 在那個空目錄裡隨便放一個檔案就行了。 在這個資料夾中添加一個名為 .gitkeep 的空檔案,讓 Git 能
※ Git(三) 什麼是 staging area? 在 Git 中,staging area是暫存區的意思,也被稱為索引(index)。透過一個git add 指令把檔案從工作目錄移至暫存區。再透過一個git commit 指令把暫存區的內容移至儲存庫。 當多人協作時你要開發個功能,但不