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

更新於 2024/03/18閱讀時間約 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


    全端網頁開發專業知識分享
    留言0
    查看全部
    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
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    Thumbnail
    製作檔案後續流程 -->底片-->曬版-->印刷機---印刷 -->出版----------->印刷機---印刷 最先接觸的是底片機,那時照相機還是膠捲時代,而報紙與周刊要印刷前都是輸出成透明黑字圖底片,再經由曬版功序進入印刷機。 出片機 以下廠牌為當時最大宗(中譯名),西元年是我
    Thumbnail
    菜雞成長故事 寫這一篇主因也是因為身邊朋友陸陸續續想往軟體業發展,或是想動手做做小專案,故才成就了這一篇心路歷程,這邊會介紹我的背景、學習管道跟我如何選擇第一個程式語言作為敲門磚跟學習時間,希望能幫助還在努力中或是預計要轉職的各位有一個方向或是參考?(雖然我依然還是一個小菜雞,請鞭小力)
    Thumbnail
    初學後端的人,可能對如何學習後端技術或語言會感到很困惑。 本篇文章提供了作者的幾種思路,幫助後端學員進行學習
    Thumbnail
    在工作室培訓難免會陷入低潮的原因,本篇文章分析了陷入低潮的原因,及提供預防及解決方法。
    Thumbnail
    這篇文章針對對好想工作室後端培訓(backend camp)有興趣的人,給他們一些申請建議。
    Thumbnail
    本篇文章介紹了好想工作室後端培訓(backend camp)可能會遇到的各種狀況。
    Thumbnail
    簡單介紹好想工作室。 好想工作室是一個在台南的「資訊聚落」,提供免費的軟體工程師培訓,目前位於台南火車站旁。
    Thumbnail
    嗨 我是森妮 上週讓大家投票下一篇文章,沒想到後端工程師篇壓倒性勝利 前端工程師篇不知道大家喜不喜歡!陸續在IG有收到私訊有不少關於後端工程師的問題,我只要有時間都會回應,也歡迎來跟我聊聊天 【後端工程師】 [工作流程] 團隊中的PM、SA與客戶進行需求確認 [學習路徑] >基礎概念與工具
    Thumbnail
    隨著全球啟動「淨零競逐」(Race to Zero),以及國際碳定價趨勢越來越盛行,行政院長蘇貞昌 8 月要求環保署積極辦理「溫室氣體減量及管理法」修法作業,不僅要納入 2050 淨零排放的減排目標,也要加速台灣碳定價制度的擬定。 蘇貞昌:台灣深受極端氣候衝擊,氣候行動不應落於人後 今年台灣面臨嚴
    Thumbnail
    本文使用網站的 FB 登入做示範 採用 Laravel 8 + Socialite 5 使用 Session 記錄狀態 不同版本可能會有些許語法及方法上的差異,請自行調整 前言 最近因為碰到需要實作 OAuth 第三方登入的需求,只好把之前隨便看看的東西撿回來研究並實作。不過我找到多數現存的中文文章
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    Thumbnail
    製作檔案後續流程 -->底片-->曬版-->印刷機---印刷 -->出版----------->印刷機---印刷 最先接觸的是底片機,那時照相機還是膠捲時代,而報紙與周刊要印刷前都是輸出成透明黑字圖底片,再經由曬版功序進入印刷機。 出片機 以下廠牌為當時最大宗(中譯名),西元年是我
    Thumbnail
    菜雞成長故事 寫這一篇主因也是因為身邊朋友陸陸續續想往軟體業發展,或是想動手做做小專案,故才成就了這一篇心路歷程,這邊會介紹我的背景、學習管道跟我如何選擇第一個程式語言作為敲門磚跟學習時間,希望能幫助還在努力中或是預計要轉職的各位有一個方向或是參考?(雖然我依然還是一個小菜雞,請鞭小力)
    Thumbnail
    初學後端的人,可能對如何學習後端技術或語言會感到很困惑。 本篇文章提供了作者的幾種思路,幫助後端學員進行學習
    Thumbnail
    在工作室培訓難免會陷入低潮的原因,本篇文章分析了陷入低潮的原因,及提供預防及解決方法。
    Thumbnail
    這篇文章針對對好想工作室後端培訓(backend camp)有興趣的人,給他們一些申請建議。
    Thumbnail
    本篇文章介紹了好想工作室後端培訓(backend camp)可能會遇到的各種狀況。
    Thumbnail
    簡單介紹好想工作室。 好想工作室是一個在台南的「資訊聚落」,提供免費的軟體工程師培訓,目前位於台南火車站旁。
    Thumbnail
    嗨 我是森妮 上週讓大家投票下一篇文章,沒想到後端工程師篇壓倒性勝利 前端工程師篇不知道大家喜不喜歡!陸續在IG有收到私訊有不少關於後端工程師的問題,我只要有時間都會回應,也歡迎來跟我聊聊天 【後端工程師】 [工作流程] 團隊中的PM、SA與客戶進行需求確認 [學習路徑] >基礎概念與工具
    Thumbnail
    隨著全球啟動「淨零競逐」(Race to Zero),以及國際碳定價趨勢越來越盛行,行政院長蘇貞昌 8 月要求環保署積極辦理「溫室氣體減量及管理法」修法作業,不僅要納入 2050 淨零排放的減排目標,也要加速台灣碳定價制度的擬定。 蘇貞昌:台灣深受極端氣候衝擊,氣候行動不應落於人後 今年台灣面臨嚴
    Thumbnail
    本文使用網站的 FB 登入做示範 採用 Laravel 8 + Socialite 5 使用 Session 記錄狀態 不同版本可能會有些許語法及方法上的差異,請自行調整 前言 最近因為碰到需要實作 OAuth 第三方登入的需求,只好把之前隨便看看的東西撿回來研究並實作。不過我找到多數現存的中文文章