Git是现代软件开发中不可或缺的版本控制工具。它能帮助开发者跟踪项目的所有变更,并与团队成员高效协作。本文将介绍一些在项目实操中常见的Git命令,帮助你更好地管理代码。

1. 初始化和配置

初始化仓库

在一个新的项目目录中,初始化Git仓库:

git init

配置用户信息

在提交代码之前,需要配置用户信息,这些信息将记录在每次提交中:

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

2. 基本操作

克隆远程仓库

从远程仓库克隆项目到本地:

git clone <repository_url>

查看仓库状态

检查当前工作目录的状态,包括已修改、未跟踪的文件:

git status

添加文件到暂存区

将文件添加到暂存区,为下一次提交做准备:

git add <file_name>  # 添加单个文件
git add . # 添加所有更改的文件

提交更改

提交暂存区的文件,并添加提交信息:

git commit -m "提交信息"

查看提交历史

查看项目的提交历史记录:

git log

3. 分支管理

创建和切换分支

创建一个新分支并切换到该分支:

git checkout -b <new_branch>

切换到已有的分支:

git checkout <branch_name>

查看分支

列出所有分支,并标记当前所在的分支:

git branch

合并分支

将指定分支的变更合并到当前分支:

git merge <branch_name>

删除分支

删除不再需要的分支:

git branch -d <branch_name>

4. 远程操作

查看远程仓库

查看当前配置的远程仓库:

git remote -v

添加远程仓库

为本地仓库添加一个远程仓库:

git remote add origin <repository_url>

推送到远程仓库

将本地分支推送到远程仓库:

git push origin <branch_name>

拉取远程更新

从远程仓库拉取更新并与本地分支合并:

git pull origin <branch_name>

克隆远程仓库

如果你还没有本地仓库,可以通过以下命令将远程仓库克隆到本地:

git clone <repository_url>

5. 高级操作

撤销更改

将工作目录恢复到上一次提交的状态(慎用):

git checkout -- <file_name>

取消暂存

将文件从暂存区移除,但保留工作目录的更改:

git reset <file_name>

修改最后一次提交

如果你需要修改最后一次提交的提交信息或包含新的更改,可以使用:

git commit --amend

查看提交历史的简洁格式

使用一行显示每个提交记录:

git log --oneline

查看变更内容

查看工作目录中与暂存区的差异:

git diff

查看暂存区与上一次提交的差异:

git diff --cached

6. 实用技巧

交互式暂存

使用交互式模式选择要暂存的文件部分:

git add -p

标签管理

为项目创建一个标签:

git tag <tag_name>

推送标签到远程仓库:

git push origin <tag_name>

清理未跟踪的文件

清理工作目录中的未跟踪文件和目录(慎用):

git clean -f -d

git篇-- Git在项目实操中常见的使用命令--02的更多相关文章

  1. 使用Jenkins与Docker持续集成与发布NetCore项目(实操篇)

    使用Jenkins与Docker持续集成与发布NetCore项目(教程一) 原文地址:https://www.cnblogs.com/Jackyye/p/12588182.html 基本环境 该教程的 ...

  2. ajax的项目实操(只用于记录部分文件未引入)

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  3. 一、基础篇--1.1Java基础-Object类中常见的方法,为什么wait notify会放在Object里边

    这是个设计相关的问题,它考察的是面试者对现有系统和一些普遍存在但看起来不合理的事物的看法.回答这些问题的时候,你要说明为什么把这些方法放在Object类里是有意义的,还有不把它放在Thread类里的原 ...

  4. 总结工作中常见的linux命令

    本文是总结下自己在工作中遇到的常见linux 命令,会持续更新! 1.文件路径切换 进入 cd 返回上一级  cd .. 2.复制 cp 源文件名 目标文件夹 cp log.log test5 3.编 ...

  5. Window中常见的dos命令

    1.如何实行操作dos命令:如果是Windows电脑,从开始--->所有程序---->附件--->命令提示 这样就可以开始命令提示符了 2关于一些dos命令: 2.1 盘符切换:盘符 ...

  6. Window 中常见的dos命令

    在哪里操作dos命令:    win7---->开始---->所有程序---->附件---->命令提示符                              win7-- ...

  7. 网络中常见的ping命令协议

    ICMP是"Internet Control Message Ptotocol"(Internet控制消息协议)的缩写.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之 ...

  8. ESP8266 NodeMCU小白手把手入门(实操篇)以土壤湿度和DHT传感器为例讲解读取传感器的值

    物联网使得现实世界中的实体和数字世界比以往任何时候都更紧密地联系在一起.NodeMCU作为其中的一个重要设备,作用之一就是与传感器相连以实现万物互联通讯.这篇关于NodeMCU的实操篇以土壤湿度传感器 ...

  9. 决策树算法的Python实现—基于金融场景实操

    决策树是最经常使用的数据挖掘算法,本次分享jacky带你深入浅出,走进决策树的世界 基本概念 决策树(Decision Tree) 它通过对训练样本的学习,并建立分类规则,然后依据分类规则,对新样本数 ...

  10. R数据分析:孟德尔随机化中介的原理和实操

    中介本身就是回归,基本上我看到的很多的调查性研究中在中介分析的方法部分都不会去提混杂,都是默认一个三角形画好,中介关系就算过去了,这里面默认的逻辑就是前两步回归中的混杂是一样的,计算中介效应的时候就自 ...

随机推荐

  1. ros2 foxy订阅话题问题

    代码片段 这部分代码在galactic版本编译是OK的,可在foxy下编译就出了问题 TeleopPanel::TeleopPanel(QWidget* parent) : rviz_common:: ...

  2. [Qt开发]当我们在开发兼容高分辨率和高缩放比、高DPI屏幕的软件时,我们在谈论什么。

    前言 最近在开发有关高分辨率屏幕的软件,还是做了不少尝试的,当然我们也去网上查了不少资料,但是网上的资料也很零碎,说不明白,这样的话我就做个简单的总结,希望看到这的你可以一次解决你有关不同分辨率下的所 ...

  3. 网络问题排查必备利器:Pingmesh

    背景 当今的数字化世界离不开无处不在的网络连接.无论是日常生活中的社交媒体.电子商务,还是企业级应用程序和云服务,我们对网络的依赖程度越来越高.然而,网络的可靠性和性能往往是一个复杂的问题,尤其是在具 ...

  4. 导出excel文件接口代码示例

    导出excel文件接口代码示例 1.该导出接口,token不能通过请求头来传输,需要在get请求的参数中带出来2.验证token的方法除了在拦截器中统一拦截,针对get接口传参数的方式也需要单独在接口 ...

  5. java8 lambda Predicate示例

    import java.util.Arrays; import java.util.List; import java.util.function.Predicate; public class Pr ...

  6. 19-Docker数据持久化

    什么是Docker数据持久化 容器在运行时会在镜像层上加上一层:可写层. 当删除容器时,可写层就会一起被删除,数据丢失. 数据持久化就是就是将数据持久化保存,删除容器之后,数据仍然存在. 方法1-挂载 ...

  7. P1551 亲戚 题解。。。

    并查集 目录 并查集 (1.概念: (2.详解 Q1:如何表示不同的家族 ans1: Q2:如何将两个人归到同一个家族中 ans2: CODE: PS: (1.概念: 处理 不相交 可合并 的集合关系 ...

  8. EthernetIP IO从站设备数据 转opc ua项目案例

    1 案例说明 设置网关采集EthernetIP IO设备数据 把采集的数据转成opc ua协议转发给其他系统. 2 VFBOX网关工作原理 VFBOX网关是协议转换网关,是把一种协议转换成另外一种协议 ...

  9. Linux greybus

    背景 在研究高通平台驱动震动马达时,我需要为内核驱动实现以下功能:/sys/class/timed_output/vibrator/enable":sysfs文件系统注册接口.提供show. ...

  10. socket 地址复用 SO_REUSEADDR

    背景 默认的情况下,如果一个网络应用程序的一个套接字 绑定了一个端口(例如888),这时候,别的套接字就无法使用这个端口( 888 ) ref : https://blog.csdn.net/tenn ...