Git 使用的全流程以及SourceTree工具的使用操作和忽略文件的配置

1. 安裝 Git

要使用 Git,首先得在你的系統上安裝它。你可以按照不同操作系統的安裝指南來操作:

Windows:訪問 Git 官方下載頁面,下載安裝程序并運行。

macOS:可以使用 Homebrew 來安裝,命令為 brew install git;也可以從 Git 官方下載頁面 下載安裝程序。

Linux:以 Ubuntu 為例,使用 sudo apt-get install git 命令進行安裝。

2. 配置 Git

安裝完成后,需要對 Git 進行基本配置,設置你的用戶名和郵箱:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

3. 創建新的 Git 倉庫

本地創建
如果你要在本地創建一個新的 Git 倉庫,可按如下步驟操作:

# 創建一個新的目錄作為項目目錄
mkdir myproject
cd myproject# 初始化 Git 倉庫
git init

克隆遠程倉庫
若你想克隆一個已有的遠程倉庫到本地,可使用以下命令:

git clone <repository-url>

例如:

git clone https://github.com/username/repository.git

4. 分支操作

創建新分支
要創建一個新的分支,可以使用下面的命令:

git branch new-feature

然后切換到新分支:

git checkout new-feature

也可以使用一條命令同時完成創建和切換操作:

git checkout -b new-feature

查看分支
查看本地所有分支:

git branch

查看本地和遠程的所有分支:

git branch -a

刪除分支
刪除本地分支:

git branch -d new-feature

強制刪除未合并的分支:

git branch -D new-feature

5. 提交操作

添加文件到暫存區
把修改或新增的文件添加到暫存區:

git add <file-name>

添加所有修改的文件:

git add .

提交暫存區的文件到本地倉庫

git commit -m "Your commit message"

6. 分支提交

在新分支上進行修改、添加和提交操作與在主分支上相同:

# 切換到新分支
git checkout new-feature# 進行文件修改# 添加修改到暫存區
git add .# 提交到本地倉庫
git commit -m "New feature implementation"

7. 合并分支

合并分支到當前分支
將 new-feature 分支合并到當前所在的分支(如 main 分支):

# 切換到目標分支
git checkout main# 合并新分支
git merge new-feature

8. 解決合并沖突

在合并分支時,可能會出現沖突。當發生沖突時,Git 會在沖突的文件中標記出沖突的部分,你需要手動解決這些沖突。

查看沖突文件

git status

該命令會列出所有存在沖突的文件。

手動解決沖突
打開沖突文件,你會看到類似下面的標記:

<<<<<<< HEAD
This is the content from the current branch.
=======
This is the content from the branch being merged.
>>>>>>> new-feature

你需要根據實際情況,選擇保留哪一部分內容,或者將兩部分內容進行整合

標記沖突已解決
解決完沖突后,將修改后的文件添加到暫存區并提交:

git add <conflicted-file>
git commit -m "Conflict resolved"

9. 推送和拉取

推送到遠程倉庫
將本地的提交推送到遠程倉庫:

git push origin <branch-name>

例如:

git push origin main

從遠程倉庫拉取更新

git pull origin <branch-name>

例如:

git pull origin main

以上就是 Git 使用的全流程,涵蓋了創建、分支、提交、分支提交、合并和沖突解決等操作。

SourceTree 工具方式

SourceTree 是一款可視化的 Git 客戶端工具,能讓你通過圖形界面完成各類 Git 操作,以下是使用 SourceTree 完成上述操作的具體步驟:

1. 安裝和配置 SourceTree

訪問 SourceTree 官方網站 下載并安裝該工具。
打開 SourceTree 后,按照提示進行初始配置,關聯你的 Git 賬號,設置用戶名和郵箱。

2. 創建新的 Git 倉庫

本地創建
打開 SourceTree,點擊 “倉庫” -> “新建 / 克隆”。
在彈出窗口中,選擇 “創建本地倉庫”,指定倉庫的保存路徑和名稱,然后點擊 “創建”。
克隆遠程倉庫
點擊 “倉庫” -> “新建 / 克隆”。
在 “克隆” 選項卡中,輸入遠程倉庫的 URL,選擇本地保存路徑,點擊 “克隆”。

3. 分支操作

創建新分支
在 SourceTree 的倉庫視圖中,點擊 “分支” -> “新建分支”。
輸入新分支的名稱,選擇基于哪個現有分支創建,點擊 “創建分支”。
若要切換到新分支,在分支列表中雙擊該分支。
查看分支
在 SourceTree 的左側面板中,點擊 “分支”,就能看到本地和遠程的所有分支。
刪除分支
右鍵點擊要刪除的本地分支,選擇 “刪除分支”。
若要強制刪除未合并的分支,在刪除時勾選 “強制刪除” 選項。

4. 提交操作

添加文件到暫存區
在 SourceTree 的 “文件狀態” 面板中,選擇要提交的文件,點擊 “暫存所選文件”。若要暫存所有文件,點擊 “暫存所有文件”。
提交暫存區的文件到本地倉庫
在 “提交信息” 文本框中輸入提交說明。
點擊 “提交” 按鈕。

5. 分支提交

切換到目標分支,重復上述添加文件到暫存區和提交的操作。

6. 合并分支

切換到要合并到的目標分支(如 main 分支)。
點擊 “分支” -> “合并”。
在彈出的對話框中,選擇要合并的分支(如 new-feature 分支),點擊 “合并”。

7. 解決合并沖突

當合并出現沖突時,SourceTree 會在界面中提示。點擊 “解決沖突” 按鈕。
在沖突解決窗口中,會顯示沖突的文件。你可以通過可視化工具(如 “內聯合并” 或 “外部合并工具”)來解決沖突。
解決完沖突后,點擊 “標記為已解決”。
最后,進行一次提交以確認沖突已解決。

8. 推送和拉取

推送到遠程倉庫
點擊 “推送” 按鈕,在彈出的對話框中選擇要推送的分支,點擊 “確定”。
從遠程倉庫拉取更新
點擊 “拉取” 按鈕,在彈出的對話框中選擇要拉取的分支,點擊 “確定”。
借助 SourceTree 的圖形界面,你可以輕松完成 Git 的各種操作,無需記憶復雜的命令。

還有就是怎么配置忽略變更的文件,比如node_modules文件等一些不需要提交的文件,不然的話會出現修改的文件幾百條

git命令行方式

1. 創建 .gitignore 文件

如果你在項目根目錄下還沒有 .gitignore 文件,可使用以下命令來創建:

touch .gitignore

2. 編輯 .gitignore 文件

使用文本編輯器(如 vim、nano 等)打開 .gitignore 文件,添加你要忽略的文件或目錄。例如,若要忽略 node_modules 目錄和 .DS_Store 文件(macOS 系統下的文件),可按如下方式添加:

# 忽略 node_modules 目錄
node_modules/# 忽略 macOS 系統生成的 .DS_Store 文件
.DS_Store

以下是一些常見的忽略規則示例:

# 忽略所有 .log 文件
*.log# 忽略 build 目錄
build/# 忽略所有 .tmp 后綴的文件
*.tmp

3. 保存并提交 .gitignore 文件

編輯完成后,保存 .gitignore 文件,接著將其添加到暫存區并提交:

git add .gitignore
git commit -m "Add .gitignore file"

SourceTree 工具方式

1. 創建 .gitignore 文件

打開 SourceTree,進入你的項目倉庫。
在項目根目錄下,右鍵點擊空白處,選擇 “新建文件”,文件名輸入 .gitignore。

2. 編輯 .gitignore 文件

右鍵點擊 .gitignore 文件,選擇 “編輯”,在彈出的文本編輯器中添加你要忽略的文件或目錄,規則與命令行方式相同。

3. 保存并提交 .gitignore 文件

編輯完成后,保存文件。在 SourceTree 的 “文件狀態” 面板中,會看到 .gitignore 文件處于未暫存狀態。
勾選 .gitignore 文件,點擊 “暫存所選文件”,然后在 “提交信息” 文本框中輸入提交說明,點擊 “提交”。
通過以上操作,Git 就會忽略 .gitignore 文件中指定的文件和目錄,不會將它們納入版本控制和提交范圍

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/904983.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/904983.shtml
英文地址,請注明出處:http://en.pswp.cn/news/904983.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《深入理解Linux網絡》筆記

《深入理解Linux網絡》筆記 前言參考 前言 前段時間看了《深入理解Linux網絡》這本書&#xff0c;雖然有些地方有以代碼充篇幅的嫌疑&#xff0c;但總體來說還是值得一看的。在這里簡單記錄一下筆記&#xff0c;記錄下對網絡新的理解。 內核是如果接受網絡包的&#xff1f; 如…

數倉-可累計,半累加,不可累加指標,是什么,舉例說明及解決方案

目錄 1. 可累計指標定義&#xff1a;舉例&#xff1a;解決方案&#xff1a; 2. 半累加指標定義&#xff1a;舉例&#xff1a;解決方案&#xff1a; 3. 不可累加指標定義&#xff1a;舉例&#xff1a;解決方案&#xff1a; 4. 總結對比5. 實際場景中的注意事項 這是數據倉庫設計…

NestJS 的核心構建塊有哪些?請簡要描述它們的作用(例如,Modules, Controllers, Providers)

NestJS 核心構建塊解析&#xff08;Modules、Controllers、Providers&#xff09; NestJS 是一個基于 TypeScript 的漸進式 Node.js 框架&#xff0c;核心設計借鑒了 Angular 的模塊化思想。下面從實際開發角度解析它的三大核心構建塊&#xff0c;并附代碼示例和避坑指南。 一…

vue2 上傳pdf,拖拽蓋章,下載圖片

效果圖片&#xff1a; 不多廢話上代碼&#xff1a; <template><div class"pdf-stamp" onbeforecopyreturn false onselectdocument.selection.empty() ondragstartreturn false onselectstart return false ><div class"scroll-box" scro…

理性地傾聽與表達:檢索算法的語言學改進

論文標題 Rational Retrieval Acts: Leveraging Pragmatic Reasoning to Improve Sparse Retrieval 論文地址 https://arxiv.org/pdf/2505.03676 代碼地址 https://github.com/arthur-75/Rational-Retrieval-Acts 作者背景 巴黎薩克雷大學&#xff0c;索邦大學&#xff…

MySQL及線程關于鎖的面試題

目錄 1.了解過 MySQL 死鎖問題嗎&#xff1f; 2.什么是線程死鎖&#xff1f;死鎖相關面試題 2.1 什么是死鎖&#xff1a; 2.2 形成死鎖的四個必要條件是什么&#xff1f; 2.3 如何避免線程死鎖&#xff1f; 3. MySQL 怎么排查死鎖問題&#xff1f; 4.Java線上死鎖問題如…

【Reality Capture 】Reality Capture1.5中文版安裝教程(附安裝包下載)

文章目錄 一、Reality Capture1.5中文版安裝教程二、拷貝中文補丁三、Reality Capture1.5中文版下載地址一、Reality Capture1.5中文版安裝教程 1. Reality Capture v1.4.0漢化版安裝包下載并解壓 2. 運行EpicInstaller-15.17.1-4a91a118786f4c2aa3c0093b23f83863.msi 3. 更改…

SVG數據可視化設計(AI)完全工作流解讀|計育韜

AI 的 SVG 創作極限在哪里&#xff1f;絕不是那些初級的流程圖生成和粗糙的商業模型設計。以下是由我們 JZ Creative Studio 通過 Claude 和 Deepseek 開展的專業級 SVG Data Visualization 創作&#xff0c;應廣大讀者強烈要求&#xff0c;專程直播講授了一期 AI 工作流分享。…

not a genuine st device abort connection的問題

1.魔法棒里面電機Settings 2.然后在Other里面把Enabled的鉤子去掉

uv簡單使用

通過uv創建項目和虛擬環境 初始化項目 uv init --package my-project 初始化一個名為 my-project 的新項目&#xff0c;并生成必要的文件結構。 創建虛擬環境 uv venv .venv 激活虛擬環境 # For Windows .venv\Scripts\activate# For macOS/Linux source .venv/bin/acti…

測試左移系列-產品經理實戰-實戰認知1

課程&#xff1a;B站大學 記錄產品經理實戰項目系統性學習&#xff0c;從產品思維&#xff0c;用戶畫像&#xff0c;用戶體驗&#xff0c;增長數據驅動等不同方向理解產品&#xff0c;從0到1去理解產品從需求到落地的全過程&#xff0c;測試左移方向&#xff08;靠近需求、設計…

從需求到用例的AI路徑:準確率與挑戰

用工作流生成測試用例和自動化測試腳本&#xff01; 引言&#xff1a;用例的黃金起點 在軟件工程中&#xff0c;“測試用例”是連接需求理解與質量保障之間的關鍵橋梁。一份高質量的測試用例&#xff0c;不僅是驗證功能實現是否符合需求的工具&#xff0c;更是產品風險感知、用…

大語言模型中的“溫度”參數到底是什么?如何正確設置?

近年來&#xff0c;市面上涌現了大量調用大模型的工具&#xff0c;如 Dify、Cherry Studio 等開源或自研平臺&#xff0c;幾乎都提供了 “溫度”&#xff08;Temperature&#xff09; 選項。然而&#xff0c;很多人在使用時并不清楚該如何選擇合適的溫度值。 今天&#xff0c;…

如何刪除網上下載的資源后面的文字

這是我在愛給網上下載的音效資源&#xff0c;但是發現資源后面跟了一大段無關緊要的文本&#xff0c;但是修改資源名稱后還是有。解決辦法是打開屬性然后刪掉資源的標簽即可。

hot100-子串-JS

一、560.和為k的子串 560. 和為 K 的子數組 提示 給你一個整數數組 nums 和一個整數 k &#xff0c;請你統計并返回 該數組中和為 k 的子數組的個數 。 子數組是數組中元素的連續非空序列。 示例 1&#xff1a; 輸入&#xff1a;nums [1,1,1], k 2 輸出&#xff1a;2示例 2…

01背包類問題

文章目錄 [模版]01背包1. 第一問: 背包不一定能裝滿(1) 狀態表示(2) 狀態轉移方程(3) 初始化(4) 填表順序(5) 返回值 2. 第二問: 背包恰好裝滿3. 空間優化 416.分割等和子集1. 狀態表示2. 狀態轉移方程3. 初始化4. 填表順序5. 返回值 [494. 目標和](https://leetcode.cn/proble…

解鎖 DevOps 新境界 :使用 Flux 進行 GitOps 現場演示 – 自動化您的 Kubernetes 部署

前言 GitOps 是實現持續部署的云原生方式。它的名字來源于標準且占主導地位的版本控制系統 Git。GitOps 的 Git 在某種程度上類似于 Kubernetes 的 etcd&#xff0c;但更進一步&#xff0c;因為 etcd 本身不保存版本歷史記錄。毋庸置疑&#xff0c;任何源代碼管理服務&#xf…

將Docker鏡像變為可執行文件?體驗docker2exe帶來的便捷!

在現代軟件開發中,容器化技術極大地改變了應用程序部署和管理的方式。Docker,作為領先的容器化平臺,已經成為開發者不可或缺的工具。然而,對于不熟悉Docker的用戶來說,接觸和運行Docker鏡像可能會是一個復雜的過程。為了解決這一問題,docker2exe項目應運而生。它提供了一…

IBM BAW(原BPM升級版)使用教程第八講

續前篇&#xff01; 一、流程開發功能模塊使用邏輯和順序 前面我們已經對 流程、用戶界面、公開的自動化服務、服務、事件、團隊、數據、性能、文件各個模塊進行了詳細講解&#xff0c;現在統一進行全面統一講解。 在 IBM Business Automation Workflow (BAW) 中&#xff0c;…

針對共享內存和上述windows消息機制 在C++ 和qt之間的案例 進行詳細舉例說明

針對共享內存和上述windows消息機制 在C++ 和qt之間的案例 進行詳細舉例說明 以下是關于在 C++ 和 Qt 中使用共享內存(QSharedMemory)和 Windows 消息機制(SendMessage / PostMessage)進行跨線程或跨進程通信的詳細示例。 ?? 使用 QSharedMemory 進行進程間通信(Qt 示例…