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.mzph.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 示例…