git的使用方法

文章目录

  • 前言
  • git简介
  • GIT的基本操作
    • 克隆仓库 (Clone)
    • 获取最新代码 (Pull)
    • 提交代码到远程仓库
    • 查看当前分支
    • 查看提交代码的日志
    • git config 配置用户信息
  • GIT的实操

前言

git是一种软件版本管理工具,在多人团队软件开发中地方非常重要。

类似与SVN,git工具可以拉取最新的代码,提交代码等。

git简介

Git 是一个强大的版本控制系统,广泛应用于软件开发和各种项目中。它可以帮助你跟踪项目文件的变化,协作开发,以及恢复到之前的版本。


基础概念:

仓库(Repository):存储项目所有文件和历史记录的地方。
工作区(Working Directory):你当前编辑文件的目录。
暂存区(Staging Area):一个临时区域,用于将你想要提交的更改添加到仓库中。
提交(Commit):将暂存区中的更改永久保存到仓库中。
分支(Branch):创建项目的不同版本,允许并行开发。
远程仓库(Remote Repository):存储在服务器上的仓库,用于与其他开发者协作。


GIT的基本操作

基本操作有如下几个:克隆仓库,提交代码,查看提交代码日志,拉取最新的代码


克隆仓库 (Clone)

首先,你需要将远程仓库克隆到你的本地机器。
使用 git clone 命令,并提供远程仓库的地址:
git clone <远程仓库地址>
例如,如果远程仓库地址是 https://github.com/user/repo.git,则命令为:
git clone https://github.com/user/repo.git


获取最新代码 (Pull)

如果你想要获取远程仓库最新的代码,可以使用git pull命令:
git pull origin main
这会将 origin 远程仓库的 main 分支上的所有更改拉取到你的本地仓库,并自动合并到你的当前分支。

注意:
在进行 git pull 操作之前,确保你处于本地仓库的正确分支。
如果你想获取其他分支的代码,请将 main 替换成目标分支名称。


提交代码到远程仓库

提交代码到远程仓库需要以下步骤:

  1. 确认本地代码已更新
    确保你已经将最新的代码拉取到本地仓库,可以使用 git pull 命令:
    git pull origin main
  2. 添加更改到暂存区
    使用 git add 命令将你修改的文件添加到暂存区:
    git add <文件名>
    例如,添加所有修改过的文件
    git add .
  3. 提交更改到本地仓库
    使用 git commit 命令将暂存区中的更改提交到本地仓库,并添加提交信息:
    git commit -m "提交信息"
    例如:
    git commit -m "修复了 bug"
  4. 推送代码到远程仓库
    使用 git push 命令将本地仓库的更改推送到远程仓库:
    git push origin main
    例如:
    git push origin feature
    其中 origin 代表远程仓库的名称,mainfeature 代表你所提交的分支名称。

注意:
确保你的本地仓库与远程仓库同步。
提交信息应该简洁明了,描述此次提交的更改内容。
如果你需要提交到其他分支,请将 main 替换为目标分支名称。
如果你没有权限推送到远程仓库,你需要联系仓库管理员请求权限。

示例:

假设你修改了 index.html 文件并想要提交到 main 分支:

# 拉取最新代码
git pull origin main# 添加修改到暂存区
git add index.html# 提交更改到本地仓库
git commit -m "修改了首页标题"# 推送代码到远程仓库
git push origin main

查看当前分支

如果你远程仓库没有 main 分支,你可以使用以下方法查看当前分支

  1. 使用 git branch 命令
    在你的本地仓库中,运行 git branch 命令,这将列出你本地仓库的所有分支,当前分支用 * 号标记

例如,输出可能类似于:

* featuredevelop

这表明当前分支是 feature 分支。


查看提交代码的日志

如果你想查看所有推送的提交历史,可以使用 git log 命令:

git log

这将显示所有提交的详细信息,包括作者、时间、提交信息和哈希值。

一些额外的选项:

  1. git log --author="你的用户名":查看特定作者的提交记录。
  2. git log --grep="关键词":查看包含特定关键词的提交记录。
  3. git log -p:查看提交内容的差异。
  4. git log --pretty=format:"%h - %ad - %s":自定义输出格式。

git config 配置用户信息

怎么通过git config配置用户信息

配置方法:

  1. 全局配置:
    运行以下命令,设置全局的用户名和邮箱地址:
    git config --global user.name "你的用户名"
    git config --global user.email "你的邮箱地址
    这会将用户名和邮箱地址保存在你系统中的 ~/.gitconfig 文件中,影响你系统中所有 Git 仓库。

  2. 仓库配置:
    如果你想要为某个特定的仓库配置不同的用户名和邮箱地址,可以使用以下命令:
    git config user.name "你的用户名"
    git config user.email "你的邮箱地址"
    这会将用户名和邮箱地址保存在仓库的 .git/config 文件中,只影响当前仓库。

  3. 查看配置:
    运行以下命令查看当前配置:
    git config --list
    这将显示所有的 Git 配置选项,包括用户名和邮箱地址。


撤销提交:待续

GIT的实操


  1. 绑定用户信息
git config --global user.name "用户名"
git config --global user.email "邮箱"

“用户名” 和 “邮箱” 乱填也可以。


2.创建本地的Git项目仓库
创建本地的GIT项目仓库有两种方式,

  • 一个是clone别人的项目

待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/71870.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php虚拟站点提示No input file specified时的问题及权限处理方法

访问站点&#xff0c;提示如下 No input file specified. 可能是文件权限有问题&#xff0c;也可能是“.user.ini”文件路径没有配置对&#xff0c;最简单的办法就是直接将它删除掉&#xff0c;还有就是将它设置正确 #配置成自己服务器上正确的路径 open_basedir/mnt/qiy/te…

使用Langflow和AstraDB构建AI助手:从架构设计到与NocoBase的集成

本文由 Leandro Martins 编写&#xff0c;最初发布于 Building an AI Assistant with Langflow and AstraDB: From Architecture to Integration with NocoBase。 引言 本文的目标是演示如何创建一个集成了 NocoBase、LangFlow 和 VectorDB 工具的 AI 助手。作为基础&#xf…

6.聊天室环境安装 - Ubuntu22.04 - elasticsearch(es)的安装和使用

目录 介绍安装安装kibana安装ES客户端使用 介绍 Elasticsearch&#xff0c; 简称 ES&#xff0c;它是个开源分布式搜索引擎&#xff0c;它的特点有&#xff1a;分布式&#xff0c;零配置&#xff0c;自动发现&#xff0c;索引自动分片&#xff0c;索引副本机制&#xff0c;res…

SSL VXN

SSL VPN是采用SSL&#xff08;Security Socket Layer&#xff09;/TLS&#xff08;Transport Layer Security&#xff09;协议来实现远程接入的一种轻量级VPN技术,其基于B/S架构&#xff0c;免于安装客户端&#xff0c;相较与IPSEC有更高的灵活度和管理性&#xff0c;当隧道建立…

【Qt】成员函数指针

一、成员函数指针的本质 与普通函数指针的区别&#xff1a; // 普通函数指针 void (*funcPtr)() &普通函数;// 成员函数指针 void (MyClass::*memberFuncPtr)() &MyClass::成员函数;• 绑定对象&#xff1a;成员函数指针必须与类的实例对象结合使用 • 隐含 this 指…

通义万相2.1开源版本地化部署攻略,生成视频再填利器

2025 年 2 月 25 日晚上 11&#xff1a;00 通义万相 2.1 开源发布&#xff0c;前两周太忙没空搞它&#xff0c;这个周末&#xff0c;也来本地化部署一个&#xff0c;体验生成效果如何&#xff0c;总的来说&#xff0c;它在国内文生视频、图生视频的行列处于领先位置&#xff0c…

Linux——system V共享内存

共享内存区是最快的IPC(进程内通信)形式&#xff0c;不再通过执行进入内核的系统调用来传递彼此的数据 1.共享内存的原理 IPC通信的本质是让不同的进程先看到同一份资源&#xff0c;然后再进行通信&#xff0c;所以想要通过共享内存进行通信&#xff0c;那么第一步一定是让两个…

01 SQl注入基础步骤(数字、字符、布尔盲注、报错)

目录 1、SQL注入漏洞的概要 2、SQL注入的常规思路 3、数字型注入 4、字符型注入 5、布尔盲注 6、报错注入 1、SQL注入漏洞的概要 原理&#xff1a;通过用户输入的数据未严格过滤&#xff0c;将恶意SQL语句拼接到原始查询中&#xff0c;从而操控数据库执行非预期操作。 …

leetcode-sql数据库面试题冲刺(高频SQL五十题)

题目&#xff1a; 620.有趣的电影 表&#xff1a;cinema ------------------------ | Column Name | Type | ------------------------ | id | int | | movie | varchar | | description | varchar | | rating | float | ------------------------ id 是该表的主键(具有唯一值…

7.2 奇异值分解的基与矩阵

一、奇异值分解 奇异值分解&#xff08;SVD&#xff09;是线性代数的高光时刻。 A A A 是一个 m n m\times n mn 的矩阵&#xff0c;可以是方阵或者长方形矩阵&#xff0c;秩为 r r r。我们要对角化 A A A&#xff0c;但并不是把它化成 X − 1 A X X^{-1}A X X−1AX 的形…

在本地部署DeepSeek等大模型时,需警惕的潜在安全风险

在本地部署DeepSeek等大模型时&#xff0c;尽管数据存储在本地环境&#xff08;而非云端&#xff09;&#xff0c;但仍需警惕以下潜在安全风险&#xff1a; 1. 模型与数据存储风险 未加密的存储介质&#xff1a;若训练数据、模型权重或日志以明文形式存储&#xff0c;可能被物…

【javaEE】多线程(进阶)

1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; Hello, Hello~ 亲爱的朋友们&#x1f44b;&#x1f44b;&#xff0c;这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章&#xff0c;请别吝啬你的点赞❤️❤️和收藏&#x1f4d6;&#x1f4d6;。如果你对我的…

dify中使用NL2SQL

在 Dify 工作流中融入 NL2SQL&#xff08;自然语言转 SQL&#xff09;之能力&#xff0c;可依循如下步骤达成&#xff0c;借由 Dify 的模块化设计以及模型编排之功能&#xff0c;优化数据库查询之智能化交互&#xff1a; 一、环境准备与 Dify 部署 安装 Docker 与 Dify 务须确…

使用Everything搜索指定文件夹中的内容

直接路径搜索法 在 Everything 的搜索框中输入文件夹路径加空格&#xff0c;再输入要搜索的内容或文件名。如要在 D 盘的 “文档” 文件夹中搜索名为 “报告.docx” 的文件&#xff0c;可输入 “D:\ 文档 报告.docx”235。 高级搜索法 打开 Everything 软件&#xff0c;点击菜…

Java在小米SU7 Ultra汽车中的技术赋能

目录 一、智能驾驶“大脑”与实时数据 场景一&#xff1a;海量数据的分布式计算 场景二&#xff1a;实时决策的毫秒级响应 场景三&#xff1a;弹性扩展与容错机制 技术隐喻&#xff1a; 二、车载信息系统&#xff08;IVI&#xff09;的交互 场景一&#xff1a;Android Automo…

Vue开发中计算属性与方法调用之间的区别与联系

文章目录 一 概述二 核心区别三 联系四 使用原则 一 概述 在 Vue 中&#xff0c;计算属性&#xff08;computed&#xff09; 和 方法&#xff08;methods&#xff09; 都可以用于处理数据逻辑&#xff0c;但它们的核心区别在于 缓存机制 和 触发方式 。 计算属性示例&#xf…

【Unity】 HTFramework框架(六十一)Project窗口文件夹锁定器

更新日期&#xff1a;2025年3月7日。 Github源码&#xff1a;[点我获取源码] Gitee源码&#xff1a;[点我获取源码] 索引 Project窗口文件夹锁定器框架文件夹锁定自定义文件夹锁定限制条件 Project窗口文件夹锁定器 在Project窗口中&#xff0c;文件夹锁定器能够为任何文件夹加…

C语言:6.20字符型数据练习题

编写程序,输人一行数字字符(用回车结束),每个数字字符 的前后都有空格。 把这一行中的数字转换成一个整数。 例如,若输入(<CR>代表 Enter键):2 4 8 3<CR>则输出 整数:2483。 #include <stdio.h>int main() {char ch;int number 0;printf("请输入一行…

【软件工程】一篇入门UML建模图(状态图、活动图、构件图、部署图)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;软件开发必练内功_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前…

【C语言】数组篇

目录 引言一维数组数组的定义数组的初始化完全初始化部分初始化省略数组长度 数组元素的访问 多维数组二维数组的定义二维数组的初始化完全初始化部分初始化省略第一维长度 二维数组元素的访问 遍历数组元素遍历一维数组遍历二维数组 数组作为函数参数一维数组作为函数参数二维…